Files

718 lines
22 KiB
C++
Raw Permalink Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
#include "LevelSequenceActor.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 "UObject/ConstructorHelpers.h"
#include "Engine/Texture2D.h"
#include "Engine/Level.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 "Components/BillboardComponent.h"
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3003857) ========================== MAJOR FEATURES + CHANGES ========================== Change 2945755 on 2016/04/15 by Frank.Fella 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. Change 2947197 on 2016/04/18 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 2948468 on 2016/04/19 by Max.Chen Sequencer: Fix particles not firing on loop. #jira UE-27881 Change 2948590 on 2016/04/19 by Max.Chen Sequencer: Fix spawnables not getting default tracks. #jira UE-29644 Change 2955993 on 2016/04/26 by Max.Chen Sequencer: Refresh instances when done recording. This fixes a bug where spawned recorded actors aren't visible when done recording. #jira UE-29841 Change 2958567 on 2016/04/27 by Max.Preussner RHI: Made SetReferencedTexture public, so that the referenced texture can be set Change 2958718 on 2016/04/28 by Max.Chen Sequencer: Folder colors. Right click on a folder and choose "Set Color" #jira UE-28669 Change 2960172 on 2016/04/28 by Max.Preussner Slate: Slate Remote Server (for the iOS touch input app) is now disabled by default, so we don't open up the socket unless desired by the user Change 2960411 on 2016/04/28 by Max.Chen Sequencer: Don't remove label if it's not being used. #jira UE-24283 Change 2960414 on 2016/04/28 by Max.Chen Matinee: Don't automatically turn frustums on/off when entering and exiting Matinee. #jira UE-1020 Change 2962784 on 2016/05/02 by Max.Chen Sequencer: Add master sequence #jira UE-29799 Change 2964399 on 2016/05/03 by Andrew.Rodham Sequencer: Added ability to apply cook-time optimization to tracks and objects - For now, if a spawnable has a spawn track that is disabled, or will never spawn, the entire spawnable object will be removed from a cooked package. - Possessables also afford the same optimization, although none is currently implemented - We could, in future, also remove any tracks that are completely disabled - Deprecated UMovieSceneBoolSection::DefaultValue in favor of the default stored on FIntegralCurve Change 2967549 on 2016/05/05 by Max.Chen Sequencer: Fix crash converting possessable to spawnable when the possessable doesn't exist. #jira UE-30360 Change 2967670 on 2016/05/05 by Max.Chen Sequencer: Set ui min/max for sequencer settings #jira UE-30344 Change 2978969 on 2016/05/16 by Max.Chen Sequencer: Restore state when focusing on a shot level sequence. This fixes issues where tracks in the movie scene that are active before switching to the new movie scene need to return to their initial state. For example, setting a fade track in the master sequence and switching into a shot should disable the effects of the fade track in the master sequence. #jira UE-30798 Change 2983237 on 2016/05/19 by Andrew.Rodham Protocol settings for movie captures are now set up correctly when a capture type is specified on the command line Thanks to original github author, yuhe00 #pr #2257 Change 2991115 on 2016/05/26 by Andrew.Rodham Sequencer: Added {shot} and {shot_frame} format args for movie captures - Additionally, rendering out movie scenes as videos will now generate a new video for each unique filename it encounters. This allows us to render out a video per shot by using {shot} as the output format. - Frame numbers are now zero-padded as per the sequencer setting. Change 2991920 on 2016/05/26 by Max.Chen Sequencer: Fix movie scene getting dirtied unnecessarily when the fixed frame interval changes. #jira UE-31343 Change 2992387 on 2016/05/26 by Max.Chen Sequencer: Fix crash when getting the color key properties of a collapsed key that doesn't have all channels keyed. #jira UE-31392 Change 2993553 on 2016/05/27 by Andrew.Rodham Sequencer: Added the ability to add burn-ins to level sequences - A default burn-in is provided which hosts a great level of flexibility - 6 regions (L/C/R + T/B) on a 30% black border allow positioning of a range of frame statistics such as shot name ({ShotName}), frame numbers ({MasterFrame}, {ShotFrame}), and other information. - Watermark is provided by default (currently no tiling is exposed) - Users can use the default built in UMG widget as a guideline for their own custom implementations. Change 2993554 on 2016/05/27 by Andrew.Rodham Sequencer: Default level sequence burn ins - Also made a font asset out of our fixed width font shipped with the engine Change 2993856 on 2016/05/30 by Max.Chen Sequencer: Import/Export EDL - Added a new option in the render movie dialog to export an Edit Decision List (EDL) in cmx and rv formats if there is a shot track. The default is true. - Added "Import EDL" to shot track right click menu which imports a cmx EDL and conforms the shot order and cut information to it. - Added "Export EDL" to shot track right click menu which exports EDLs in cmx and rv formats. - Added "Render Shot" to shot right click menu which loads up the render movie dialog with the start and end frames of the selected shot. #jira UETOOL-829, UETOOL-830 Change 2994761 on 2016/05/31 by Max.Chen Sequence Recorder: Add a setting to allow recording of actors that are spawned by sequencer itself. Change 2995648 on 2016/06/01 by HaarmPieter.Duiker Sequencer EXR output gamut controls Change 2996241 on 2016/06/01 by Frank.Fella Sequencer - Add a small epsilon when "force fixed frame interval" is enabled, to make sure we're in the start of the next frame. Change 2996244 on 2016/06/01 by Frank.Fella Sequencer - Set the tick prerequisite for all components, not just the root. Change 2997865 on 2016/06/02 by Max.Preussner Sequencer: Fixed Crash in Sequencer play rate track when setting negative play rate (UE-31431) #jira UE-31431 Change 2999631 on 2016/06/03 by Frank.Fella Sequencer - At runtime, make sure to stop playing skeletal animations to prevent them from being double updated each frame, once by sequencer, and then again by tick. Change 3000820 on 2016/06/03 by Max.Chen Sequencer: Add hotkey (ctrl-T) to toggle between showing frame numbers and time. #jira UE-31497 Change 3001056 on 2016/06/05 by Max.Chen Sequencer: Fix fade color section crash by using an inline color picker in the details panel instead of a popup color picker. #jira UE-31647 Change 3001057 on 2016/06/05 by Max.Chen Movie Capture: Fix audio getting disabled after recording a movie. Change 3001690 on 2016/06/06 by Andrew.Rodham Sequencer: Fixed recording video sequences when not overwriting existing videos Change 3001823 on 2016/06/06 by Max.Chen Sequencer: Fix filtered nodes in folders so that other unfiltered children aren't visible. #jira UE-31499 #lockdown Nick.Penwarden [CL 3003974 by Max Chen in Main branch]
2016-06-07 11:03:52 -04:00
#include "LevelSequenceBurnIn.h"
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3800792) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3631172 by Max.Chen Sequence Recorder: Record to the specified target animation for the target actor only. Newly tracked components will have newly created animations so that they don't record to the same target animation assets. #jira UE-49304 #jira UE-49216 #jira UE-49300 Change 3632895 by Max.Chen Sequencer: Fixed crash caused by erroneous persistent references to FSequencer. #jira UE-48647 #jira UE-48383 #jira UE-47661 Change 3634864 by Max.Chen Sequencer: Bake transforms #jira UE-49136 Change 3634879 by Max.Chen Sequence Recorder: Close the target animation asset editor if it exists before recording into it. #jira UE-49216 Change 3650553 by Max.Chen Sequencer: Switch shot display name to FString so that it's not localized. #jira UE-49824 Change 3650848 by Darren.Pegg Linear Timecode Plugin - first pass - still needs output interface Change 3653174 by Max.Chen Sequencer: Allow blending for vector tracks #jira UE-49809 Change 3653205 by Max.Chen Sequencer: Fix default burnin content. #jira UE-49824 Change 3653570 by Darren.Pegg Win32 Build fix: EmptyLinkFunctionForStaticInitializationLinearTimecode Change 3658673 by Darren.Pegg Timecode - Adding Accessors, renaming files Change 3663633 by Max.Chen Sequencer: Add option to export an object's transform to a camera anim asset. #jira UE-49599 Change 3665971 by Max.Chen Sequence Recorder: Add an active column for sequence recorder Change 3666066 by Max.Chen Sequencer: Suspend broadcast of selection delegates when performing multiple operations. #jira UE-40371 Change 3671057 by Max.Chen PR #4055: Fixed ACameraRig_Rail PreviewMeshes to match Spline Component (Contributed by Hemofektik) Change 3677104 by Max.Chen Sequencer: Add transaction for easing length. #jira UE-50588 Change 3677105 by Max.Chen Sequencer: Restore pre-animated state when changing active channels. #jira UE-50473 Change 3681069 by Max.Preussner LinearTimecode: Processing samples only if they have been dequeued successfully Change 3681783 by Andrew.Rodham Control Rig: Fixed crash attempting to zero out array with the wrong size Change 3681949 by Darren.Pegg OnTimecodeChange Delegate, Comments in DropTimecode, DropTimecode to string auto conversion Change 3682222 by Andrew.Porter EngineTest: Enabled MP4 Media Player test in the level ShaderModels. Set the texture ShaderModelPlayer_Video to use the correct media player. #jira UE-47213 Change 3683523 by Andrew.Rodham Sequencer: Display sub sequence name on binding ID pickers rather than the sub section name Change 3684318 by Max.Chen Sequencer: Fix crash in dragging a level sequence into the tree area. #jira UE-50902 Change 3687609 by Max.Chen Curve Editor: Add ModifyOwnerChange to CurveOwnerInterface. Call mark as changed when modifying keys or tangents. #jira UE-50882 Change 3687617 by Max.Chen Sequencer: Move some commands out of the generic sequencer command bindings so that they don't take over the viewport. ie. End for "Snap to Floor" should still function in the viewport. #jira UE-50997 Change 3687969 by Andrew.Rodham Sequencer: New compile on the fly logic - Sequencer is now able to compile partially or completely out-of-date evaluation templates from the source data as it needs. This affords much more efficient compilation when working within sequencer. - Added the concept of 'instance data' for sub sequences, available through the IMovieScenePlayer interface or persistent data stores. This replaces the compilation of specific templates for control rig templates. - Moved sub tracks and sections to MovieScene module - Removed the concept of shared tracks. Any previous uses should port over to shared execution tokens instead. #jira UE-46789 Change 3689884 by Max.Chen Sequencer: Remove null tracks on object bindings. Tracks can become null if they're from a plugin and the plugin is disabled. #jira UE-50839 Change 3690130 by Andrew.Rodham Sequencer: Fixed UMG animations not working with blueprint nativization Change 3690162 by Andrew.Rodham Sequencer: Fix assert when using filler shots #jira UE-51029 Change 3691904 by Max.Chen Sequencer: Fix overlap by looking at the key behind as well. This fixes a bug if there's 3 keyframes on consecutive frames, if you zoom out, you should see two bordered keys when the overlap threshold is passed. #jira UE-50993 Change 3692149 by Andrew.Rodham Sequencer: Change FSortByPrioritySegmentBlender::Blend to fall back to flag comparison if any sections are null for automation tests. - Combinations of null/non-null will never happen in the wild because we either run with sections or without, but the static analysis doesn't know that Change 3692212 by Andrew.Rodham Core: Changed TRange to pass-by-value for small types, inlined some functions Change 3693044 by Max.Chen Sequencer: Update pivot location for selection when closing sequencer. #jira UE-51132 Change 3693061 by Max.Chen Sequencer: Remove force evaluate on end scrubbing. Backout previous fix because 3657907 is the real fix. #jira UE-45905 Change 3694308 by Andrew.Rodham Sequencer: Sub tracks now blend correctly again #jira UE-51076 Change 3694365 by Andrew.Rodham Sequencer: Fixed exponential slow down when compiling large quantities of sub sequences on cook caused by not clamping sub-sequence compilation correctly Change 3698176 by Max.Chen Sequencer: Enable the camera cut track when popping back to the master only if there's a camera cut track in the master. This fixes an issue where if you don't have a camera cut track in the master, the camera gets locked to a camera cut in a subscene and you can't toggle out of it. #jira UE-51332 Change 3698979 by Max.Chen Sequencer: Fix delay before warmup causing sequences not to render. #jira UE-51307 Change 3700149 by Max.Chen Sequencer: Fix delay at shot boundaries causing sequences to not play back and render out. The shot id needs to be tracked to determine whether a new shot is encountered. #jira UE-51307 Change 3705624 by Max.Chen Sequencer: Reset drop node on drag leave Change 3718781 by Max.Preussner MediaAssets: Removed obsolete pointer checks (Playlist is always valid); added checks to enforce this invariant Change 3721586 by Max.Preussner MediaAssets: Added verbose logging to MediaPlayer BP functions Change 3721662 by Max.Preussner WmfMedia: Fixed media session not generating PlaybackEndReached event when session forced to stop #jira UE-50962 Change 3722954 by Max.Preussner MediaAssets: Removed looping option from play lists Change 3723076 by Andrew.Porter Removed controls for looping playlist. Change 3724202 by Max.Chen Sequencer: Spawn time optimizations #jira UE-32885 Change 3725359 by Max.Chen Sequencer: Fix spawnables not playing back. bIsEditorPreviewActor = false for sequencer spawnables so that BeginPlay() doesn't get skipped. #jira UE-51750 Change 3725362 by Max.Chen Sequencer: Change check to ensure for null object in property actuate. This prevents a crash when there's a track without a binding object. This occur when pasting a property track to the root. #jira UE-51713 Change 3725802 by Max.Chen Sequencer: Add the ability to drag sections up. #jira UE-43305 Change 3726520 by Max.Preussner MediaAssets: Fixed OnMediaOpened called when looping a source #jira UE-51773 Change 3728509 by Max.Chen Sequencer: Fix crash pasting a camera cut track because the outer isn't set to the movie scene. #jira UE-51787 Change 3729216 by Max.Chen Sequencer: Fix pre edit property chain broadcast so that the property path will include possible struct/array node. #jira UE-51525 Change 3729248 by Max.Chen Sequencer: Add default expansion states to allow track editors to specify them per track type. Material track is currently the only track that defaults to expanded. #jira UE-21741 Change 3729392 by Max.Preussner ImgMedia: Disabling video output when video track is selected Change 3729452 by Max.Preussner MediaPlayerEditor: Showing a notification if no video track available or selected Change 3729462 by Max.Preussner MediaPlayerEditor: Creating overlay font only once Change 3731155 by Max.Chen Sequencer: Set row index when creating a new take #jira UE-51867 Change 3731446 by Max.Chen Sequencer: Add null check and warning for invalid GetParameterCollectionInstance. Change 3731640 by Max.Chen Sequencer: Automatically create a camera cut track if a camera is dropped and there's no existing camera cut or there's no existing camera cut sections. #jira UE-51846 Change 3731653 by Max.Chen Sequencer: Defer details panel updates on scrubbing and playing. #jira UE-48448 Change 3732597 by Max.Chen Sequencer: Don't swap the camera cut section if it already exists and a camera is created. Change 3733554 by Max.Chen Sequencer: Fix crash when existing hotspot is null. Change 3734305 by Max.Preussner MediaAssets: Fixed assertion when assigning same media player to a media texture twice #jira UE-51012 Change 3735735 by Max.Preussner MediaFrameworkTest: Setting MediaAssets log category Verbose to prevent log spam in Editor Change 3736393 by Max.Chen Sequencer: Set min/max values for generic key area so that they don't default to 0,10. #jira UE-52012 Change 3736804 by Max.Chen Sequencer: Fix rotation rotator->quat->rotator conversion which prevents you from typing in a rotation of 0,0,320 into the key editor. Unwind rotations from the previous transform to the current transform so that the nearest rotation is set rather than the rotator->quat->rotator conversion. #jira UE-52009 #jira UE-34816 Change 3737790 by Max.Chen Sequencer: Follow up fix to quat->rot->quat so that unwinding is only processed if the last transform is valid. Change 3739738 by Max.Chen PR #4184: Unregister Missing TrackEditors in MovieSceneTools (Contributed by LordNed) Change 3741910 by Max.Preussner MfMedia: Simplified track switching code; enabled seeking Change 3742171 by Max.Preussner MediaAssets: Fixed timecode check to include current presentation time Change 3744889 by Max.Chen Sequencer: Use drag and drop actor factory if specifiied. This ensures that the correct actor factory is used in creating the object template for the sequencer spawner. This fixes some spawnables not getting created properly (ie. Empty Actor) #jira UE-51678 Change 3746049 by Andrew.Rodham FBX Import: Fixed tangent overrides producing the wrong type of key tangent modes Change 3747870 by Max.Chen Sequencer: Update auto scroll when moving keys/sections. #jira UE-31212 Change 3747885 by Max.Chen UMG: Remove template instance finish on pause. It appears that was only there to stop audio (CL #3161056). Instead, evaluate in the stopped position with the stopped playback state. #jira UE-47749 Change 3747914 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. #jira UE-49480 Change 3747915 by Max.Chen Sequencer: Set default completion mode for all sections to project default. #jira UE-49480 Change 3748377 by Max.Preussner EngineTest: Fixed media player automation test BP #jira UE-50637 Change 3748531 by Max.Preussner EngineTest: Fixed media player not opening media during FTest setup I fixed up the Blueprint. Also, don't use PlayOnOpen on the media player if you don't intend to play the movie after opening. You can call Pause right after opening. If you enable PlayOnOpen, the order of operations will not work, because it will first call Pause via the IsReady check in Tick and then Play via the PlayOnOpen checkbox. I disabled PlayOnOpen. #jira UE-47207 Change 3750362 by Max.Chen PR #4205: parameter not used bug fixes (Contributed by shrimpy56) Change 3750885 by Max.Chen Sequencer: Prevent throttling on the curve editor so that editor world tick can apply. #jira UE-51624 Change 3757123 by Max.Preussner MediaAssets: Allowing media players to be part of GC clusters #jira FORT-59774 #jira UE-51943 Change 3764055 by Max.Chen Sequencer: Add SetPlaybackPosition as latent action to fix crash when calling SetPlaybackPosition in an event. #jira UE-52270 Change 3764555 by Max.Chen Sequencer: Change camera cut binding from guid to object binding id to allow for subscene bindings Change 3764613 by Max.Chen Sequencer: Show binding ID picker customization on all details panels. Allow creation of new camera cut sections from existing bindings. Deprecate AddNewCameraCut(FGuid) Change 3766389 by Max.Chen Sequencer: Don't override existing camera binding id on postload if it's valid. Change 3766432 by Max.Chen Sequencer: Switch constraint guid to constraint binding ID #jira UE-52438 Change 3767160 by Max.Preussner WmfMedia: Added more logging Change 3767843 by Max.Preussner MediaAssets: Fixed Crash in UMediaSoundComponent::UpdatePlayer #jira UE-52594 Change 3771038 by Max.Preussner Engine: Changed message log back to ensure Cannot use message log on render thread as it may call LoadModule Change 3771071 by Max.Preussner MediaCompositing: Fixed default media plane material Change 3771287 by Max.Preussner Engine: Changed ensure to global log Change 3771450 by Max.Preussner MediaAssets: Fixed crash when dragging media player viewport #jira UE-52675 Change 3771461 by Max.Preussner ImgMedia: Fixed seeking not working when paused #jira UE-52677 Change 3772999 by Andrew.Rodham Sequencer: Added the ability to supply an instance data object to sequence runtime evaluation - This allows systems to inject information into a sequence at runtime, enabling more dynamic control of tracks - Level sequence actors use this by default to supply a dynamic 'transform origin' to all component transform tracks, to which all absolute transform sections will be added. #jira UE-46003 Change 3774633 by Max.Preussner MediaAssets: Fixed MediaPlayer.Prev/Next not playing automatically if player was playing previously #jira UE-52714 Change 3774961 by Max.Preussner UdpMessaging: Patch to make message serialization notification thread-safe #jira UE-52624 Change 3778108 by Max.Chen Sequencer: Scroll in track area. #jira UESEQ-330 Change 3778270 by Max.Chen Sequencer: Copy/cut/paste/duplicate object bindings FMovieSceneCopyableBinding - struct containing the copied FMovieSceneBinding, FMovieScenePossessable and FMovieSceneSpawnable MovieScene - AddPossessable, AddSpawnable with existing possessable or spawnable ISequencer - FOnMovieSceneBindingsPasted to allow fixing up bindings on paste #jira UESEQ-352, UESEQ-335 Change 3778674 by Max.Preussner Engine: Fixed online documentation for external texture registry Change 3778699 by Max.Preussner Engine: Fixed external textures not registering correctly in all cases #jira UE-52648 Change 3778776 by Max.Preussner Engine: Corrected code comments for external texture registry Change 3779153 by Max.Preussner LinearTimecode: Fixed plugin category Change 3779166 by Max.Preussner WmfMedia: Reversing FourceCC display string, so it displays correctly Change 3780576 by Max.Chen Sequencer: Fix viewport invalidation so that it happens on sequence evaluation. #jira UE-52836 Change 3780619 by Max.Chen Sequencer: Always save default spawnable state regardless of focused sequence. This fixes a bug where if you step back to the master sequence (and the spawnable still exists), and then scrub outside the region where the spawnable exists, it gets destroyed but saved default spawnable state doesn't get called because it's no longer the focused sequence. #jira UE-52008 Change 3781227 by Max.Chen Sequencer: Add playback speed settings menu #jira UESEQ-384 Change 3782213 by Max.Preussner WmfMedia: Fixed H.265 frames being dropped due to false negative buffer size check #jira UE-52859 Change 3782239 by Max.Chen Sequencer: Add shortcut to tooltips #jira UE-52795 Change 3782388 by Max.Preussner WmfMedia: Fixed IYUV encoded AVI not playing correctly #jira UE-52855 Change 3782541 by Chris.Babcock Protect against asking for duration before prepare completed in movie player #jira UE-52805 #ue4 #android Change 3787676 by Max.Chen Sequencer: Export unmatched float properties to custom attributes #jira UE-52983 Change 3787788 by Max.Preussner Extras: Natvis for FTimespan Change 3789419 by Max.Chen Sequencer: Fix import camera so that when new cameras are created, values from the fbx are going only to the newly created cameras. Also, added bReduceKeys and bReduceKeysTolerance to import fbx. #jira UE-52997 Change 3789628 by Max.Chen Sequencer: Remove Shift-C and Shift-D as a hotkey for toggling the cinematic viewport as it was causing some confusion when users accidentally hit it. Change 3789716 by Andrew.Rodham Seqeuncer: Fixed slot animation not being restored for montages that are recreated during evaluation - The issue here is that the animation system can deem montages as inactive at any point, and will re-create a new montage instance if this is the case. Previously, we stored pre-animated state on the anim instance, and cached the montage that we played, which meant that we attempt to restore a stale montage. - The solution is to store pre-animated state for the montages, and cache the anim instance. This means we'll always store pre-animated state if the montage is re-created. #jira UE-49981 Change 3789874 by Max.Chen Sequencer: Add option to only show selected nodes only ISequencer - Added OnGetIsBindingVisible(), OnGetIsTrackVisible() LevelEditorSequencerIntegration - implement OnGetIsBindingVisible based on actor selection #jira UESEQ-357 Change 3789877 by Max.Chen Control Rig: Implement IsTrackVisible to show nodes in the sequencer tree that are selected. #jira UESEQ-357 Change 3791514 by Andrew.Rodham Image Plate: Fixed image plates not showing up in high res screenshots - The image plate mesh had a LOD index of -1 which meant it never showed up when a LOD to render was specified - Also simplified the bounds calculation #jira UE-51764 Change 3791596 by Max.Chen Sequence Recorder: Don't record editor only components #jira UE-49071 Change 3791659 by Andrew.Rodham Sequencer: Event struct payloads now support user defined struct default values on creation #jira UE-45430 Change 3791718 by Max.Chen Sequence Recorder: Fix level sequences not triggering when recording. Level sequences would not get recorded if the world settings actor was not recorded. Change 3791761 by Max.Chen Sequencer: Find available non-overlapping row index when adding subsections. Change 3791837 by Max.Chen Sequencer: Fix sequencer not updating after toggling Bind Sequencer to PIE/Simulate while PIE is active. Change 3791875 by Max.Chen Sequence Recorder: Add recording button now adds for any selected actors. Change 3791880 by Max.Chen Sequence Recorder: Fix end pie not stopping sequence recording if not recording world settings. Change 3791932 by Max.Chen Sequence Recorder: Record spawned actors immediately so that they won't be missed if they're deleted before tick. Clean up queued recordings that were from spawned actors. Change 3791954 by Max.Chen Sequence Recorder: Don't process if not recording on end pie. Change 3791955 by Max.Chen Sequence Recorder: Fix recording spawnables not getting the correct position for being spawned at. Set a transform on the movie scene spawnable which will be used if the root component of the object template doesn't exist. Change 3792061 by Max.Chen Sequence Recorder: Change FOnRecordingStarted and FOnRecordingFinished to multicast delegate. If a sequence being recorded into is currently open in sequencer, it gets reloaded to prevent crashes. Change 3792271 by Max.Chen Sequence Recorder: Duplicate the actor to trigger before playing so that a sequence can be recorded and played back at the same time. #jira UE-49069 Change 3792292 by Max.Preussner MfMedia: Fixed tracks being reported in reverse order #jira UE-53074 Change 3792811 by Max.Chen Sequencer: Add option to disable camera cuts on the movie scene player. Change 3793341 by Max.Preussner AvfMedia: Fix for crash when opening AVF Media after opening multiple players Merged from shelved CL in Dev-Rendering #author richard.wallis #jira UE-52383 Change 3793642 by Max.Chen Sequencer: Delete and rename icons. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-52139 Change 3794678 by Max.Chen Sequencer: Fix crash on HandleRecordingFinished #jira UE-53178 Change 3795007 by Max.Preussner AudioMixer: Fix for AVF Media Player audio is garbled and has static #author ethan.geller #jira UE-52785 Change 3795103 by Max.Chen Sequencer: Add bKeyCreated for FKeyPropertyResult and notify movie scene data changed when a key is created. #jira UE-53175 Change 3795457 by Michael.Trepka Reverted one of the changes from CL 3793341 as it was causing a crash at exit #jira UE-53196 Change 3795739 by Max.Chen Sequencer: Set ease in/out objects as transactional. #jira UE-50594 Change 3796871 by Max.Preussner MediaAssets: Fixed media texture initialization related crash on Metal; fixed white output on inactive media player; added proper support for clear color #jira UE-51940 #jira UE-52932 Change 3796921 by Michael.Trepka Fix for a crash in AvfMediaPlayer related to reusing FAvfMediaPlayer object #jira UE-53181 Change 3797176 by Max.Preussner MediaAssets: Fixed white flicker when rapidly swapping media players on a media texture Also no longer clearing media textures each frame if they are not in use #jira UE-52932 Change 3797515 by Max.Chen Actor Sequence: Add nullptr check - fix actor sequence crash when actor sequence doesn't exist. #jira UE-49103 [CL 3800998 by Max Chen in Main branch]
2017-12-11 11:42:27 -05:00
#include "DefaultLevelSequenceInstanceData.h"
#include "Engine/ActorChannel.h"
#include "Engine/LevelStreaming.h"
#include "Logging/MessageLog.h"
#include "Misc/UObjectToken.h"
#include "Net/UnrealNetwork.h"
#include "LevelSequenceModule.h"
#include "UniversalObjectLocators/ActorLocatorFragment.h"
#include "WorldPartition/WorldPartitionLevelHelper.h"
#include "MovieSceneSequenceTickManager.h"
#include UE_INLINE_GENERATED_CPP_BY_NAME(LevelSequenceActor)
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
#if WITH_EDITOR
#include "PropertyCustomizationHelpers.h"
#include "ActorPickerMode.h"
#include "SceneOutlinerFilters.h"
#endif
namespace LevelSequenceActorCVars
{
static bool bInvalidBindingTagWarnings = true;
static FAutoConsoleVariableRef CVarInvalidBindingTagWarnings(
TEXT("LevelSequence.InvalidBindingTagWarnings"),
bInvalidBindingTagWarnings,
TEXT("Whether to emit a warning when invalid object binding tags are used to override bindings or not.\n"),
ECVF_Default);
static bool bMarkSequencePlayerAsGarbageOnDestroy = true;
static FAutoConsoleVariableRef CVarMarkSequencePlayerAsGarbageOnDestroy(
TEXT("LevelSequence.MarkSequencePlayerAsGarbageOnDestroy"),
bMarkSequencePlayerAsGarbageOnDestroy,
TEXT("Whether to flag the sequence player object as garbage when the actor is being destroyed"),
ECVF_Default);
}
ALevelSequenceActor::ALevelSequenceActor(const FObjectInitializer& Init)
: Super(Init)
, bShowBurnin(true)
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3116759) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2840895 on 2016/01/23 by Max.Chen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2937981 on 2016/04/08 by Max.Chen Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 3058930 on 2016/07/20 by Max.Chen Sequencer: Fix crash in undo/redo of creating a sub section. Change 3062696 on 2016/07/24 by Max.Chen Sequencer: Remove curve editor visibility as a toggleable config. It's now just a toggleable state that defaults to false. This fixes unexpected behavior of staying in the curve editor when restarting the editor or switching to a different level sequence asset. Change 3062763 on 2016/07/24 by Max.Chen Sequencer: Tweak track colors Audio track brighter Transform, bool, event tracks less saturated Recording subsection more saturated Fade track gradient Change 3064262 on 2016/07/26 by Max.Chen Sequencer: Add Convert to Possessable #jira UE-32139 Change 3070101 on 2016/07/29 by Max.Chen Sequence Recorder: Record actors as possessables Added GetWorld() check when resolving bindings in case the world is being torn down. Change 3070105 on 2016/07/29 by Max.Chen Sequence Recorder: Add cine camera component to default classes and properties to record. Change 3074750 on 2016/08/02 by Frank.Fella Sequencer - Simplify keyframing from a mixture of 5 boolean options to the 3 modes we actually use and move some of the logic directly into the keyframe track for consistency. Also make some keyframing structs fields constant because public fields lead lead to side effects and difficult debugging. This is part of a larger keyframing refactor to fix the inconsistent behavior of default values. I've separated it into 3 separate smaller targeted refactors to make reviews easier which is why I'm checking in with rb=none. Change 3075181 on 2016/08/03 by Andrew.Rodham Sequencer: Added ability to record audio as part of a recorded sequence Implementing the ability to get a global audio clock time per audio device. Use FAudioDevice::GetAudioClock() to get the current audio clock (in seconds). Change 3078922 on 2016/08/05 by Andrew.Rodham Sequencer: Spawnables now use deferred spawning #2613 #jira UE-33571 Change 3084262 on 2016/08/10 by Frank.Fella Sequencer - Change the 3d constraint tracks to clear the actors transform themselves instead of the transform track clearing it every frame. Change 3084851 on 2016/08/10 by Frank.Fella Sequencer - Make default value handling more consistent + Add an setting for whether or not to automatically set default values for tracks which is enabled for the level sequencer and disabled for UMG. + Add menu item for clearing default values for a track. + Fix property and transform track instances so that they provide the current value when evaluating the section so that empty sections with no defaults don't modify the runtime object. + Change the keyframe track editor so that default values are always set when a transform or property changes if auto set default values is turned on. + Change the key editors so that they always update default values whenever they are changed if auto set default values is turned on. Change 3089063 on 2016/08/15 by Max.Chen Sequence Recorder: Add countdown timer source image. Expand and clamp countdown to 9 seconds. #jira UE-30359 Change 3091925 on 2016/08/17 by Max.Chen Sequencer: Restructure level sequence actor with propert scene component and sprite component attached to it. This fixes an ensure when double clicking on the level sequence actor in editor which expects that there is a non editor only root component. #jira UE-34790, UE-34093 Change 3092201 on 2016/08/17 by Max.Chen Sequencer: Attach audio component to actor when creating a spatialized sound. Same thing happens in Matinee. #jira UE-34768 Change 3092267 on 2016/08/17 by Max.Chen Sequencer: Audio spatializiation components should be transient and not owned by the actor it's assigned to. #jira UE-34770 Change 3098930 on 2016/08/23 by Max.Chen Sequencer: Set skeletal meshes to always tick pose and refresh bones in the skeletal animation track instance pre update pass. #jira UE-8191 Change 3099461 on 2016/08/24 by Max.Chen Cine Camera: Add icons for cine camera actor, camera rig rail, camera rig crane. Change 3099527 on 2016/08/24 by Max.Chen Cine Camera: Force the roll and yaw of the camera crane mount to be 0. The yaw is controlled by the crane yaw control. #jira UE-34968 Change 3099739 on 2016/08/24 by Max.Chen Cine Camera: Add toggles to lock the mount pitch/yaw for the crane. By default they are not locked so the camera will stay level with the ground. #jira UE-34924 Change 3101574 on 2016/08/25 by Max.Chen Sequencer: Validate property path before creating a track. This fixes a bug where two tracks for the same property could be created since property changes could come from the actor or the component. #jira UE-29041 Change 3102253 on 2016/08/26 by Max.Chen Cine Camera: Unregister any owned spline mesh components that aren't being used for visualization. This fixes a bug where undo doesn't match the spline points. #jira UE-34607 Change 3103891 on 2016/08/27 by Max.Chen Movie Capture: Fix game mode override option so that it works in capture in editor. #jira UE-33248 Change 3104411 on 2016/08/29 by Max.Chen Sequencer: Refix attached audio component so that it's owned by the actor it's attached to but still transient. #jira UE-35239 Change 3105807 on 2016/08/30 by Max.Chen Sequencer: Restore state when stopping the level sequence player. #jira UE-35285 Change 3105988 on 2016/08/30 by Max.Chen Sequencer: Fix set key time so that it expands the section range if necessary. #jira UE-35275 Change 3107109 on 2016/08/30 by Max.Preussner MediaPlayerEditor: Added support for dragging and dropping media files into media player editor Change 3107347 on 2016/08/30 by Max.Chen Sequencer: Fix crash when key area is null. Also, improved middle mouse drag to create a key mechanism so that the operation is done in one undoable transaction. #jira UE-32410 Change 3107350 on 2016/08/30 by Max.Chen Sequencer: Add option to refresh runtime instances immediately. This fixes a bug when setting keyframes with the key editors - if the instances aren't updated immediately, the wrong/stale value will get keyed. #jira UE-35343 Change 3112245 on 2016/09/02 by Max.Preussner WmfMedia: Fixed WMV2 encoded videos are too bright (UE-35529) #jira UE-35529 Change 3112621 on 2016/09/02 by Max.Preussner Engine: Subtitle manager code & documentation cleanup pass Change 3112712 on 2016/09/02 by Max.Preussner Matinee: Fixed incorrect subtitle timing & rendering when scrubbing (Github PR# 2591 & 2762) https://github.com/EpicGames/UnrealEngine/pull/2591 https://github.com/EpicGames/UnrealEngine/pull/2762 #jira UE-35536 #jira UE-33002 Change 3113052 on 2016/09/03 by Max.Chen Cine Camera: Enable "Actor to Track" as a keyable property. #jira UE-33475 Change 3114912 on 2016/09/06 by Max.Preussner AvfMedia: Added missing supported file extensions (UE-35635) #jira UE-35635 Change 3114951 on 2016/09/06 by Max.Preussner AvfMedia: Added media source factory file extension descriptions (UE-35635) #jira UE-35635 Change 3115411 on 2016/09/07 by Max.Chen Sequencer: Fix properties not getting bound when converting from matinee to level sequence tracks. #jira UE-35107 Change 3115412 on 2016/09/07 by Max.Chen Editor: Add GEditor check - fix a crash when using sequence recorder with -game. #jira UE-35571 Change 3115413 on 2016/09/07 by Max.Chen Seqeuencer: Put the master sequence dialog's details views in a scrollbox to fix the hidden buttons. #jira UE-35508 Change 3116156 on 2016/09/07 by Max.Preussner MediaAssets: Fixed native player not being reused #jira UE-35656 Change 3116225 on 2016/09/07 by Max.Preussner MediaAssets: Hooking up caption sink in media player [CL 3117035 by Max Chen in Main branch]
2016-09-07 20:49:08 -04:00
USceneComponent* SceneComponent = CreateDefaultSubobject<USceneComponent>(TEXT("SceneComp"));
RootComponent = SceneComponent;
#if WITH_EDITORONLY_DATA
UBillboardComponent* SpriteComponent = CreateEditorOnlyDefaultSubobject<UBillboardComponent>(TEXT("Sprite"));
if (!IsRunningCommandlet())
{
// Structure to hold one-time initialization
struct FConstructorStatics
{
ConstructorHelpers::FObjectFinderOptional<UTexture2D> DecalTexture;
FConstructorStatics() : DecalTexture(TEXT("/Engine/EditorResources/S_LevelSequence")) {}
};
static FConstructorStatics ConstructorStatics;
if (SpriteComponent)
{
SpriteComponent->Sprite = ConstructorStatics.DecalTexture.Get();
Copying //UE4/Dev-Framework to Dev-Main (//UE4/Dev-Main) @ 2944217 #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2899855 on 2016/03/08 by Marc.Audy Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2899785 Change 2926689 on 2016/03/29 by Jeff.Farris AAIController::SetFocus() will now implicitly clear any location focus at the same priority. UE-27975 #rb john.abercrombie Change 2926690 on 2016/03/29 by Jeff.Farris Using wildcard operator with the "KismetEvent" or "ke" console commands will now only trigger the event on objects in the world in which it was triggered. Prevents badness with running events on things like CDOs and editor actors. (UE-23106) Change 2926691 on 2016/03/29 by mason.seay Content for testing collision on scaled components Change 2926692 on 2016/03/29 by Jeff.Farris - FixupDeltaSeconds now considers time dilation when clamping. - Acceptable range for time dilation values is now a config parameter on WorldSettings - Acceptable range for undilated frame times is now a config parameter on WorldSettings (UE-27815) #rb marc.audy Change 2926711 on 2016/03/29 by Ori.Cohen Fix constraint rendering when scaling a cosntraint actor #JIRA UE-28691, UE-28700 #rb Lina.Halper Change 2926745 on 2016/03/29 by Lukasz.Furman navigation filters can now be instantiated per querier - usually AI agent required for FORT-21372 Change 2926789 on 2016/03/29 by Ori.Cohen Downgrade check to ensure for 2d physics during a hard shutdown #rb Michael.Noland Change 2926859 on 2016/03/29 by Ori.Cohen Fix red herring warnings of not locking physx scenes during hard shutdown. #JIRA UE-28747 #rb Michael.Noland Change 2927444 on 2016/03/30 by Thomas.Sarkanen Fixed Blueprint compiler errors when resetting timer handles Added basic support for 64-bit int/uint terms to Blueprint. This allows the use of opaque 64-bit integer types inside of BlueprintType structs, it in no way means that 64-bit ints are fully supported in Blueprint. Corrected a left-over formatting oversight when converting a FTimerHandle to a string. Added new by-ref "Clear and Invalidate Timer by Handle" function to Blueprint system library & deprecated old version. #rb Maciej.Mroz (and a few others!) #jira UE-28833 - Unresolved compiler error for B_Pickups blueprint in Fortnite Change 2927520 on 2016/03/30 by Jurre.deBaare Should not allow skeletal mesh components mobility to be set to static, but detach instead #fix Added CanHaveStaticMobility to SceneComponent class, and check this when trying to propogate Static mobility to parent component #jira UE-26364 Change 2927533 on 2016/03/30 by Jurre.deBaare Static Mesh Merge tool: when merging from multiple blueprints, fails to combine same materials #fix Material index remapping was part of if-clause where it shouldn't be #jira UE-23827 Static Mesh Merge tool, failed to combine physics data if using complex #fix Required copying the SectionInfoMap from source static meshes HLOD/MergeActor - Vertex Colours are not correctly propagated to negatively scaled meshes #fix had to re-order function calls #jira UE-28316 #rb James.Golding Change 2927535 on 2016/03/30 by Ori.Cohen Make sub-stepping run on game thread #JIRA UE-24011 #rb Gil.Gribb Change 2927537 on 2016/03/30 by Jurre.deBaare Warning message when HLOD mesh > 65536 vertices #jira UE-22365 #fix added messages when building proxy mesh Change 2927691 on 2016/03/30 by Jeff.Farris Fixed potential PlayerState leak (UE-22700) Change 2927692 on 2016/03/30 by Lina.Halper Allow it to select any name they want other than just restrict to what we have. - I think it may not be the best solution but with current widget built, you can't even clear name, which is problem. - Other solution is to add "Clear" as a name, and when that gets entered, we just clear it, but then the X button is odd and no purpose being there. - I think we should just allow them to choose if they don't like it but with suggestions. #rb: Ori.Cohen #jira UE-27786 #code review: Benn.Gallagher Change 2927853 on 2016/03/30 by Lina.Halper [CL 2944273 by Marc Audy in Main branch]
2016-04-14 16:25:11 -04:00
SpriteComponent->SetupAttachment(RootComponent);
SpriteComponent->bIsScreenSizeScaled = true;
SpriteComponent->SetUsingAbsoluteScale(true);
SpriteComponent->bReceivesDecals = false;
SpriteComponent->bHiddenInGame = true;
}
}
bIsSpatiallyLoaded = false;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3057646) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2840895 on 2016/01/23 by Max.Chen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2937981 on 2016/04/08 by Max.Chen Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 3051834 on 2016/07/15 by Max.Chen Sequencer: Adjust tooltips for autokeying and key all to be more descriptive. #jira UE-33081 Change 3053057 on 2016/07/17 by Max.Chen Sequencer: String track editor #jira UE-32141 Change 3053083 on 2016/07/18 by Max.Chen Sequence Recorder: Add an option to maximize the viewport when starting recording. Change 3053084 on 2016/07/18 by Max.Chen Added UnmapAction to FUICommandList Sequencer uses this to re-hook into the level editor commands without issue when it re-opens. Change 3053085 on 2016/07/18 by Max.Chen Sequence Recorder: Display name of next sequence in sequence recorder Also display on-screen during countdown Change 3053086 on 2016/07/18 by Max.Chen Sequence Recorder: Improved recording indicator icon, text & timer Also fixed a bug with record/stop button where they would not show/enable correctly if no animations were being recorded for a sequence. Change 3053089 on 2016/07/18 by Max.Chen Sequencer: Added hotkey for recording selected actors Alt+R now records selected actor into sequencer. Change 3055488 on 2016/07/19 by Max.Chen Sequencer: Fixed NotifyCameraCut() being erroneously called every frame (in FSequencer), and not being called at all in ULevelSequencePlayer Change 3056783 on 2016/07/19 by Max.Preussner PS4Media: Attempting to fix playlist advance on PS4 (UE-33481) #jira UE-33481 [CL 3057666 by Max Chen in Main branch]
2016-07-20 10:38:29 -04:00
#endif //WITH_EDITORONLY_DATA
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
BindingOverrides = Init.CreateDefaultSubobject<UMovieSceneBindingOverrides>(this, "BindingOverrides");
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3003857) ========================== MAJOR FEATURES + CHANGES ========================== Change 2945755 on 2016/04/15 by Frank.Fella 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. Change 2947197 on 2016/04/18 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 2948468 on 2016/04/19 by Max.Chen Sequencer: Fix particles not firing on loop. #jira UE-27881 Change 2948590 on 2016/04/19 by Max.Chen Sequencer: Fix spawnables not getting default tracks. #jira UE-29644 Change 2955993 on 2016/04/26 by Max.Chen Sequencer: Refresh instances when done recording. This fixes a bug where spawned recorded actors aren't visible when done recording. #jira UE-29841 Change 2958567 on 2016/04/27 by Max.Preussner RHI: Made SetReferencedTexture public, so that the referenced texture can be set Change 2958718 on 2016/04/28 by Max.Chen Sequencer: Folder colors. Right click on a folder and choose "Set Color" #jira UE-28669 Change 2960172 on 2016/04/28 by Max.Preussner Slate: Slate Remote Server (for the iOS touch input app) is now disabled by default, so we don't open up the socket unless desired by the user Change 2960411 on 2016/04/28 by Max.Chen Sequencer: Don't remove label if it's not being used. #jira UE-24283 Change 2960414 on 2016/04/28 by Max.Chen Matinee: Don't automatically turn frustums on/off when entering and exiting Matinee. #jira UE-1020 Change 2962784 on 2016/05/02 by Max.Chen Sequencer: Add master sequence #jira UE-29799 Change 2964399 on 2016/05/03 by Andrew.Rodham Sequencer: Added ability to apply cook-time optimization to tracks and objects - For now, if a spawnable has a spawn track that is disabled, or will never spawn, the entire spawnable object will be removed from a cooked package. - Possessables also afford the same optimization, although none is currently implemented - We could, in future, also remove any tracks that are completely disabled - Deprecated UMovieSceneBoolSection::DefaultValue in favor of the default stored on FIntegralCurve Change 2967549 on 2016/05/05 by Max.Chen Sequencer: Fix crash converting possessable to spawnable when the possessable doesn't exist. #jira UE-30360 Change 2967670 on 2016/05/05 by Max.Chen Sequencer: Set ui min/max for sequencer settings #jira UE-30344 Change 2978969 on 2016/05/16 by Max.Chen Sequencer: Restore state when focusing on a shot level sequence. This fixes issues where tracks in the movie scene that are active before switching to the new movie scene need to return to their initial state. For example, setting a fade track in the master sequence and switching into a shot should disable the effects of the fade track in the master sequence. #jira UE-30798 Change 2983237 on 2016/05/19 by Andrew.Rodham Protocol settings for movie captures are now set up correctly when a capture type is specified on the command line Thanks to original github author, yuhe00 #pr #2257 Change 2991115 on 2016/05/26 by Andrew.Rodham Sequencer: Added {shot} and {shot_frame} format args for movie captures - Additionally, rendering out movie scenes as videos will now generate a new video for each unique filename it encounters. This allows us to render out a video per shot by using {shot} as the output format. - Frame numbers are now zero-padded as per the sequencer setting. Change 2991920 on 2016/05/26 by Max.Chen Sequencer: Fix movie scene getting dirtied unnecessarily when the fixed frame interval changes. #jira UE-31343 Change 2992387 on 2016/05/26 by Max.Chen Sequencer: Fix crash when getting the color key properties of a collapsed key that doesn't have all channels keyed. #jira UE-31392 Change 2993553 on 2016/05/27 by Andrew.Rodham Sequencer: Added the ability to add burn-ins to level sequences - A default burn-in is provided which hosts a great level of flexibility - 6 regions (L/C/R + T/B) on a 30% black border allow positioning of a range of frame statistics such as shot name ({ShotName}), frame numbers ({MasterFrame}, {ShotFrame}), and other information. - Watermark is provided by default (currently no tiling is exposed) - Users can use the default built in UMG widget as a guideline for their own custom implementations. Change 2993554 on 2016/05/27 by Andrew.Rodham Sequencer: Default level sequence burn ins - Also made a font asset out of our fixed width font shipped with the engine Change 2993856 on 2016/05/30 by Max.Chen Sequencer: Import/Export EDL - Added a new option in the render movie dialog to export an Edit Decision List (EDL) in cmx and rv formats if there is a shot track. The default is true. - Added "Import EDL" to shot track right click menu which imports a cmx EDL and conforms the shot order and cut information to it. - Added "Export EDL" to shot track right click menu which exports EDLs in cmx and rv formats. - Added "Render Shot" to shot right click menu which loads up the render movie dialog with the start and end frames of the selected shot. #jira UETOOL-829, UETOOL-830 Change 2994761 on 2016/05/31 by Max.Chen Sequence Recorder: Add a setting to allow recording of actors that are spawned by sequencer itself. Change 2995648 on 2016/06/01 by HaarmPieter.Duiker Sequencer EXR output gamut controls Change 2996241 on 2016/06/01 by Frank.Fella Sequencer - Add a small epsilon when "force fixed frame interval" is enabled, to make sure we're in the start of the next frame. Change 2996244 on 2016/06/01 by Frank.Fella Sequencer - Set the tick prerequisite for all components, not just the root. Change 2997865 on 2016/06/02 by Max.Preussner Sequencer: Fixed Crash in Sequencer play rate track when setting negative play rate (UE-31431) #jira UE-31431 Change 2999631 on 2016/06/03 by Frank.Fella Sequencer - At runtime, make sure to stop playing skeletal animations to prevent them from being double updated each frame, once by sequencer, and then again by tick. Change 3000820 on 2016/06/03 by Max.Chen Sequencer: Add hotkey (ctrl-T) to toggle between showing frame numbers and time. #jira UE-31497 Change 3001056 on 2016/06/05 by Max.Chen Sequencer: Fix fade color section crash by using an inline color picker in the details panel instead of a popup color picker. #jira UE-31647 Change 3001057 on 2016/06/05 by Max.Chen Movie Capture: Fix audio getting disabled after recording a movie. Change 3001690 on 2016/06/06 by Andrew.Rodham Sequencer: Fixed recording video sequences when not overwriting existing videos Change 3001823 on 2016/06/06 by Max.Chen Sequencer: Fix filtered nodes in folders so that other unfiltered children aren't visible. #jira UE-31499 #lockdown Nick.Penwarden [CL 3003974 by Max Chen in Main branch]
2016-06-07 11:03:52 -04:00
BurnInOptions = Init.CreateDefaultSubobject<ULevelSequenceBurnInOptions>(this, "BurnInOptions");
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3800792) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3631172 by Max.Chen Sequence Recorder: Record to the specified target animation for the target actor only. Newly tracked components will have newly created animations so that they don't record to the same target animation assets. #jira UE-49304 #jira UE-49216 #jira UE-49300 Change 3632895 by Max.Chen Sequencer: Fixed crash caused by erroneous persistent references to FSequencer. #jira UE-48647 #jira UE-48383 #jira UE-47661 Change 3634864 by Max.Chen Sequencer: Bake transforms #jira UE-49136 Change 3634879 by Max.Chen Sequence Recorder: Close the target animation asset editor if it exists before recording into it. #jira UE-49216 Change 3650553 by Max.Chen Sequencer: Switch shot display name to FString so that it's not localized. #jira UE-49824 Change 3650848 by Darren.Pegg Linear Timecode Plugin - first pass - still needs output interface Change 3653174 by Max.Chen Sequencer: Allow blending for vector tracks #jira UE-49809 Change 3653205 by Max.Chen Sequencer: Fix default burnin content. #jira UE-49824 Change 3653570 by Darren.Pegg Win32 Build fix: EmptyLinkFunctionForStaticInitializationLinearTimecode Change 3658673 by Darren.Pegg Timecode - Adding Accessors, renaming files Change 3663633 by Max.Chen Sequencer: Add option to export an object's transform to a camera anim asset. #jira UE-49599 Change 3665971 by Max.Chen Sequence Recorder: Add an active column for sequence recorder Change 3666066 by Max.Chen Sequencer: Suspend broadcast of selection delegates when performing multiple operations. #jira UE-40371 Change 3671057 by Max.Chen PR #4055: Fixed ACameraRig_Rail PreviewMeshes to match Spline Component (Contributed by Hemofektik) Change 3677104 by Max.Chen Sequencer: Add transaction for easing length. #jira UE-50588 Change 3677105 by Max.Chen Sequencer: Restore pre-animated state when changing active channels. #jira UE-50473 Change 3681069 by Max.Preussner LinearTimecode: Processing samples only if they have been dequeued successfully Change 3681783 by Andrew.Rodham Control Rig: Fixed crash attempting to zero out array with the wrong size Change 3681949 by Darren.Pegg OnTimecodeChange Delegate, Comments in DropTimecode, DropTimecode to string auto conversion Change 3682222 by Andrew.Porter EngineTest: Enabled MP4 Media Player test in the level ShaderModels. Set the texture ShaderModelPlayer_Video to use the correct media player. #jira UE-47213 Change 3683523 by Andrew.Rodham Sequencer: Display sub sequence name on binding ID pickers rather than the sub section name Change 3684318 by Max.Chen Sequencer: Fix crash in dragging a level sequence into the tree area. #jira UE-50902 Change 3687609 by Max.Chen Curve Editor: Add ModifyOwnerChange to CurveOwnerInterface. Call mark as changed when modifying keys or tangents. #jira UE-50882 Change 3687617 by Max.Chen Sequencer: Move some commands out of the generic sequencer command bindings so that they don't take over the viewport. ie. End for "Snap to Floor" should still function in the viewport. #jira UE-50997 Change 3687969 by Andrew.Rodham Sequencer: New compile on the fly logic - Sequencer is now able to compile partially or completely out-of-date evaluation templates from the source data as it needs. This affords much more efficient compilation when working within sequencer. - Added the concept of 'instance data' for sub sequences, available through the IMovieScenePlayer interface or persistent data stores. This replaces the compilation of specific templates for control rig templates. - Moved sub tracks and sections to MovieScene module - Removed the concept of shared tracks. Any previous uses should port over to shared execution tokens instead. #jira UE-46789 Change 3689884 by Max.Chen Sequencer: Remove null tracks on object bindings. Tracks can become null if they're from a plugin and the plugin is disabled. #jira UE-50839 Change 3690130 by Andrew.Rodham Sequencer: Fixed UMG animations not working with blueprint nativization Change 3690162 by Andrew.Rodham Sequencer: Fix assert when using filler shots #jira UE-51029 Change 3691904 by Max.Chen Sequencer: Fix overlap by looking at the key behind as well. This fixes a bug if there's 3 keyframes on consecutive frames, if you zoom out, you should see two bordered keys when the overlap threshold is passed. #jira UE-50993 Change 3692149 by Andrew.Rodham Sequencer: Change FSortByPrioritySegmentBlender::Blend to fall back to flag comparison if any sections are null for automation tests. - Combinations of null/non-null will never happen in the wild because we either run with sections or without, but the static analysis doesn't know that Change 3692212 by Andrew.Rodham Core: Changed TRange to pass-by-value for small types, inlined some functions Change 3693044 by Max.Chen Sequencer: Update pivot location for selection when closing sequencer. #jira UE-51132 Change 3693061 by Max.Chen Sequencer: Remove force evaluate on end scrubbing. Backout previous fix because 3657907 is the real fix. #jira UE-45905 Change 3694308 by Andrew.Rodham Sequencer: Sub tracks now blend correctly again #jira UE-51076 Change 3694365 by Andrew.Rodham Sequencer: Fixed exponential slow down when compiling large quantities of sub sequences on cook caused by not clamping sub-sequence compilation correctly Change 3698176 by Max.Chen Sequencer: Enable the camera cut track when popping back to the master only if there's a camera cut track in the master. This fixes an issue where if you don't have a camera cut track in the master, the camera gets locked to a camera cut in a subscene and you can't toggle out of it. #jira UE-51332 Change 3698979 by Max.Chen Sequencer: Fix delay before warmup causing sequences not to render. #jira UE-51307 Change 3700149 by Max.Chen Sequencer: Fix delay at shot boundaries causing sequences to not play back and render out. The shot id needs to be tracked to determine whether a new shot is encountered. #jira UE-51307 Change 3705624 by Max.Chen Sequencer: Reset drop node on drag leave Change 3718781 by Max.Preussner MediaAssets: Removed obsolete pointer checks (Playlist is always valid); added checks to enforce this invariant Change 3721586 by Max.Preussner MediaAssets: Added verbose logging to MediaPlayer BP functions Change 3721662 by Max.Preussner WmfMedia: Fixed media session not generating PlaybackEndReached event when session forced to stop #jira UE-50962 Change 3722954 by Max.Preussner MediaAssets: Removed looping option from play lists Change 3723076 by Andrew.Porter Removed controls for looping playlist. Change 3724202 by Max.Chen Sequencer: Spawn time optimizations #jira UE-32885 Change 3725359 by Max.Chen Sequencer: Fix spawnables not playing back. bIsEditorPreviewActor = false for sequencer spawnables so that BeginPlay() doesn't get skipped. #jira UE-51750 Change 3725362 by Max.Chen Sequencer: Change check to ensure for null object in property actuate. This prevents a crash when there's a track without a binding object. This occur when pasting a property track to the root. #jira UE-51713 Change 3725802 by Max.Chen Sequencer: Add the ability to drag sections up. #jira UE-43305 Change 3726520 by Max.Preussner MediaAssets: Fixed OnMediaOpened called when looping a source #jira UE-51773 Change 3728509 by Max.Chen Sequencer: Fix crash pasting a camera cut track because the outer isn't set to the movie scene. #jira UE-51787 Change 3729216 by Max.Chen Sequencer: Fix pre edit property chain broadcast so that the property path will include possible struct/array node. #jira UE-51525 Change 3729248 by Max.Chen Sequencer: Add default expansion states to allow track editors to specify them per track type. Material track is currently the only track that defaults to expanded. #jira UE-21741 Change 3729392 by Max.Preussner ImgMedia: Disabling video output when video track is selected Change 3729452 by Max.Preussner MediaPlayerEditor: Showing a notification if no video track available or selected Change 3729462 by Max.Preussner MediaPlayerEditor: Creating overlay font only once Change 3731155 by Max.Chen Sequencer: Set row index when creating a new take #jira UE-51867 Change 3731446 by Max.Chen Sequencer: Add null check and warning for invalid GetParameterCollectionInstance. Change 3731640 by Max.Chen Sequencer: Automatically create a camera cut track if a camera is dropped and there's no existing camera cut or there's no existing camera cut sections. #jira UE-51846 Change 3731653 by Max.Chen Sequencer: Defer details panel updates on scrubbing and playing. #jira UE-48448 Change 3732597 by Max.Chen Sequencer: Don't swap the camera cut section if it already exists and a camera is created. Change 3733554 by Max.Chen Sequencer: Fix crash when existing hotspot is null. Change 3734305 by Max.Preussner MediaAssets: Fixed assertion when assigning same media player to a media texture twice #jira UE-51012 Change 3735735 by Max.Preussner MediaFrameworkTest: Setting MediaAssets log category Verbose to prevent log spam in Editor Change 3736393 by Max.Chen Sequencer: Set min/max values for generic key area so that they don't default to 0,10. #jira UE-52012 Change 3736804 by Max.Chen Sequencer: Fix rotation rotator->quat->rotator conversion which prevents you from typing in a rotation of 0,0,320 into the key editor. Unwind rotations from the previous transform to the current transform so that the nearest rotation is set rather than the rotator->quat->rotator conversion. #jira UE-52009 #jira UE-34816 Change 3737790 by Max.Chen Sequencer: Follow up fix to quat->rot->quat so that unwinding is only processed if the last transform is valid. Change 3739738 by Max.Chen PR #4184: Unregister Missing TrackEditors in MovieSceneTools (Contributed by LordNed) Change 3741910 by Max.Preussner MfMedia: Simplified track switching code; enabled seeking Change 3742171 by Max.Preussner MediaAssets: Fixed timecode check to include current presentation time Change 3744889 by Max.Chen Sequencer: Use drag and drop actor factory if specifiied. This ensures that the correct actor factory is used in creating the object template for the sequencer spawner. This fixes some spawnables not getting created properly (ie. Empty Actor) #jira UE-51678 Change 3746049 by Andrew.Rodham FBX Import: Fixed tangent overrides producing the wrong type of key tangent modes Change 3747870 by Max.Chen Sequencer: Update auto scroll when moving keys/sections. #jira UE-31212 Change 3747885 by Max.Chen UMG: Remove template instance finish on pause. It appears that was only there to stop audio (CL #3161056). Instead, evaluate in the stopped position with the stopped playback state. #jira UE-47749 Change 3747914 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. #jira UE-49480 Change 3747915 by Max.Chen Sequencer: Set default completion mode for all sections to project default. #jira UE-49480 Change 3748377 by Max.Preussner EngineTest: Fixed media player automation test BP #jira UE-50637 Change 3748531 by Max.Preussner EngineTest: Fixed media player not opening media during FTest setup I fixed up the Blueprint. Also, don't use PlayOnOpen on the media player if you don't intend to play the movie after opening. You can call Pause right after opening. If you enable PlayOnOpen, the order of operations will not work, because it will first call Pause via the IsReady check in Tick and then Play via the PlayOnOpen checkbox. I disabled PlayOnOpen. #jira UE-47207 Change 3750362 by Max.Chen PR #4205: parameter not used bug fixes (Contributed by shrimpy56) Change 3750885 by Max.Chen Sequencer: Prevent throttling on the curve editor so that editor world tick can apply. #jira UE-51624 Change 3757123 by Max.Preussner MediaAssets: Allowing media players to be part of GC clusters #jira FORT-59774 #jira UE-51943 Change 3764055 by Max.Chen Sequencer: Add SetPlaybackPosition as latent action to fix crash when calling SetPlaybackPosition in an event. #jira UE-52270 Change 3764555 by Max.Chen Sequencer: Change camera cut binding from guid to object binding id to allow for subscene bindings Change 3764613 by Max.Chen Sequencer: Show binding ID picker customization on all details panels. Allow creation of new camera cut sections from existing bindings. Deprecate AddNewCameraCut(FGuid) Change 3766389 by Max.Chen Sequencer: Don't override existing camera binding id on postload if it's valid. Change 3766432 by Max.Chen Sequencer: Switch constraint guid to constraint binding ID #jira UE-52438 Change 3767160 by Max.Preussner WmfMedia: Added more logging Change 3767843 by Max.Preussner MediaAssets: Fixed Crash in UMediaSoundComponent::UpdatePlayer #jira UE-52594 Change 3771038 by Max.Preussner Engine: Changed message log back to ensure Cannot use message log on render thread as it may call LoadModule Change 3771071 by Max.Preussner MediaCompositing: Fixed default media plane material Change 3771287 by Max.Preussner Engine: Changed ensure to global log Change 3771450 by Max.Preussner MediaAssets: Fixed crash when dragging media player viewport #jira UE-52675 Change 3771461 by Max.Preussner ImgMedia: Fixed seeking not working when paused #jira UE-52677 Change 3772999 by Andrew.Rodham Sequencer: Added the ability to supply an instance data object to sequence runtime evaluation - This allows systems to inject information into a sequence at runtime, enabling more dynamic control of tracks - Level sequence actors use this by default to supply a dynamic 'transform origin' to all component transform tracks, to which all absolute transform sections will be added. #jira UE-46003 Change 3774633 by Max.Preussner MediaAssets: Fixed MediaPlayer.Prev/Next not playing automatically if player was playing previously #jira UE-52714 Change 3774961 by Max.Preussner UdpMessaging: Patch to make message serialization notification thread-safe #jira UE-52624 Change 3778108 by Max.Chen Sequencer: Scroll in track area. #jira UESEQ-330 Change 3778270 by Max.Chen Sequencer: Copy/cut/paste/duplicate object bindings FMovieSceneCopyableBinding - struct containing the copied FMovieSceneBinding, FMovieScenePossessable and FMovieSceneSpawnable MovieScene - AddPossessable, AddSpawnable with existing possessable or spawnable ISequencer - FOnMovieSceneBindingsPasted to allow fixing up bindings on paste #jira UESEQ-352, UESEQ-335 Change 3778674 by Max.Preussner Engine: Fixed online documentation for external texture registry Change 3778699 by Max.Preussner Engine: Fixed external textures not registering correctly in all cases #jira UE-52648 Change 3778776 by Max.Preussner Engine: Corrected code comments for external texture registry Change 3779153 by Max.Preussner LinearTimecode: Fixed plugin category Change 3779166 by Max.Preussner WmfMedia: Reversing FourceCC display string, so it displays correctly Change 3780576 by Max.Chen Sequencer: Fix viewport invalidation so that it happens on sequence evaluation. #jira UE-52836 Change 3780619 by Max.Chen Sequencer: Always save default spawnable state regardless of focused sequence. This fixes a bug where if you step back to the master sequence (and the spawnable still exists), and then scrub outside the region where the spawnable exists, it gets destroyed but saved default spawnable state doesn't get called because it's no longer the focused sequence. #jira UE-52008 Change 3781227 by Max.Chen Sequencer: Add playback speed settings menu #jira UESEQ-384 Change 3782213 by Max.Preussner WmfMedia: Fixed H.265 frames being dropped due to false negative buffer size check #jira UE-52859 Change 3782239 by Max.Chen Sequencer: Add shortcut to tooltips #jira UE-52795 Change 3782388 by Max.Preussner WmfMedia: Fixed IYUV encoded AVI not playing correctly #jira UE-52855 Change 3782541 by Chris.Babcock Protect against asking for duration before prepare completed in movie player #jira UE-52805 #ue4 #android Change 3787676 by Max.Chen Sequencer: Export unmatched float properties to custom attributes #jira UE-52983 Change 3787788 by Max.Preussner Extras: Natvis for FTimespan Change 3789419 by Max.Chen Sequencer: Fix import camera so that when new cameras are created, values from the fbx are going only to the newly created cameras. Also, added bReduceKeys and bReduceKeysTolerance to import fbx. #jira UE-52997 Change 3789628 by Max.Chen Sequencer: Remove Shift-C and Shift-D as a hotkey for toggling the cinematic viewport as it was causing some confusion when users accidentally hit it. Change 3789716 by Andrew.Rodham Seqeuncer: Fixed slot animation not being restored for montages that are recreated during evaluation - The issue here is that the animation system can deem montages as inactive at any point, and will re-create a new montage instance if this is the case. Previously, we stored pre-animated state on the anim instance, and cached the montage that we played, which meant that we attempt to restore a stale montage. - The solution is to store pre-animated state for the montages, and cache the anim instance. This means we'll always store pre-animated state if the montage is re-created. #jira UE-49981 Change 3789874 by Max.Chen Sequencer: Add option to only show selected nodes only ISequencer - Added OnGetIsBindingVisible(), OnGetIsTrackVisible() LevelEditorSequencerIntegration - implement OnGetIsBindingVisible based on actor selection #jira UESEQ-357 Change 3789877 by Max.Chen Control Rig: Implement IsTrackVisible to show nodes in the sequencer tree that are selected. #jira UESEQ-357 Change 3791514 by Andrew.Rodham Image Plate: Fixed image plates not showing up in high res screenshots - The image plate mesh had a LOD index of -1 which meant it never showed up when a LOD to render was specified - Also simplified the bounds calculation #jira UE-51764 Change 3791596 by Max.Chen Sequence Recorder: Don't record editor only components #jira UE-49071 Change 3791659 by Andrew.Rodham Sequencer: Event struct payloads now support user defined struct default values on creation #jira UE-45430 Change 3791718 by Max.Chen Sequence Recorder: Fix level sequences not triggering when recording. Level sequences would not get recorded if the world settings actor was not recorded. Change 3791761 by Max.Chen Sequencer: Find available non-overlapping row index when adding subsections. Change 3791837 by Max.Chen Sequencer: Fix sequencer not updating after toggling Bind Sequencer to PIE/Simulate while PIE is active. Change 3791875 by Max.Chen Sequence Recorder: Add recording button now adds for any selected actors. Change 3791880 by Max.Chen Sequence Recorder: Fix end pie not stopping sequence recording if not recording world settings. Change 3791932 by Max.Chen Sequence Recorder: Record spawned actors immediately so that they won't be missed if they're deleted before tick. Clean up queued recordings that were from spawned actors. Change 3791954 by Max.Chen Sequence Recorder: Don't process if not recording on end pie. Change 3791955 by Max.Chen Sequence Recorder: Fix recording spawnables not getting the correct position for being spawned at. Set a transform on the movie scene spawnable which will be used if the root component of the object template doesn't exist. Change 3792061 by Max.Chen Sequence Recorder: Change FOnRecordingStarted and FOnRecordingFinished to multicast delegate. If a sequence being recorded into is currently open in sequencer, it gets reloaded to prevent crashes. Change 3792271 by Max.Chen Sequence Recorder: Duplicate the actor to trigger before playing so that a sequence can be recorded and played back at the same time. #jira UE-49069 Change 3792292 by Max.Preussner MfMedia: Fixed tracks being reported in reverse order #jira UE-53074 Change 3792811 by Max.Chen Sequencer: Add option to disable camera cuts on the movie scene player. Change 3793341 by Max.Preussner AvfMedia: Fix for crash when opening AVF Media after opening multiple players Merged from shelved CL in Dev-Rendering #author richard.wallis #jira UE-52383 Change 3793642 by Max.Chen Sequencer: Delete and rename icons. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-52139 Change 3794678 by Max.Chen Sequencer: Fix crash on HandleRecordingFinished #jira UE-53178 Change 3795007 by Max.Preussner AudioMixer: Fix for AVF Media Player audio is garbled and has static #author ethan.geller #jira UE-52785 Change 3795103 by Max.Chen Sequencer: Add bKeyCreated for FKeyPropertyResult and notify movie scene data changed when a key is created. #jira UE-53175 Change 3795457 by Michael.Trepka Reverted one of the changes from CL 3793341 as it was causing a crash at exit #jira UE-53196 Change 3795739 by Max.Chen Sequencer: Set ease in/out objects as transactional. #jira UE-50594 Change 3796871 by Max.Preussner MediaAssets: Fixed media texture initialization related crash on Metal; fixed white output on inactive media player; added proper support for clear color #jira UE-51940 #jira UE-52932 Change 3796921 by Michael.Trepka Fix for a crash in AvfMediaPlayer related to reusing FAvfMediaPlayer object #jira UE-53181 Change 3797176 by Max.Preussner MediaAssets: Fixed white flicker when rapidly swapping media players on a media texture Also no longer clearing media textures each frame if they are not in use #jira UE-52932 Change 3797515 by Max.Chen Actor Sequence: Add nullptr check - fix actor sequence crash when actor sequence doesn't exist. #jira UE-49103 [CL 3800998 by Max Chen in Main branch]
2017-12-11 11:42:27 -05:00
DefaultInstanceData = Init.CreateDefaultSubobject<UDefaultLevelSequenceInstanceData>(this, "InstanceData");
// SequencePlayer must be a default sub object for it to be replicated correctly
PRAGMA_DISABLE_DEPRECATION_WARNINGS // make SequencePlayer protected and remove this for 5.6
SequencePlayer = Init.CreateDefaultSubobject<ULevelSequencePlayer>(this, "AnimationPlayer");
PRAGMA_ENABLE_DEPRECATION_WARNINGS // SequencePlayer
GetSequencePlayer()->OnPlay.AddDynamic(this, &ALevelSequenceActor::ShowBurnin);
GetSequencePlayer()->OnPlayReverse.AddDynamic(this, &ALevelSequenceActor::ShowBurnin);
GetSequencePlayer()->OnStop.AddDynamic(this, &ALevelSequenceActor::HideBurnin);
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3800792) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3631172 by Max.Chen Sequence Recorder: Record to the specified target animation for the target actor only. Newly tracked components will have newly created animations so that they don't record to the same target animation assets. #jira UE-49304 #jira UE-49216 #jira UE-49300 Change 3632895 by Max.Chen Sequencer: Fixed crash caused by erroneous persistent references to FSequencer. #jira UE-48647 #jira UE-48383 #jira UE-47661 Change 3634864 by Max.Chen Sequencer: Bake transforms #jira UE-49136 Change 3634879 by Max.Chen Sequence Recorder: Close the target animation asset editor if it exists before recording into it. #jira UE-49216 Change 3650553 by Max.Chen Sequencer: Switch shot display name to FString so that it's not localized. #jira UE-49824 Change 3650848 by Darren.Pegg Linear Timecode Plugin - first pass - still needs output interface Change 3653174 by Max.Chen Sequencer: Allow blending for vector tracks #jira UE-49809 Change 3653205 by Max.Chen Sequencer: Fix default burnin content. #jira UE-49824 Change 3653570 by Darren.Pegg Win32 Build fix: EmptyLinkFunctionForStaticInitializationLinearTimecode Change 3658673 by Darren.Pegg Timecode - Adding Accessors, renaming files Change 3663633 by Max.Chen Sequencer: Add option to export an object's transform to a camera anim asset. #jira UE-49599 Change 3665971 by Max.Chen Sequence Recorder: Add an active column for sequence recorder Change 3666066 by Max.Chen Sequencer: Suspend broadcast of selection delegates when performing multiple operations. #jira UE-40371 Change 3671057 by Max.Chen PR #4055: Fixed ACameraRig_Rail PreviewMeshes to match Spline Component (Contributed by Hemofektik) Change 3677104 by Max.Chen Sequencer: Add transaction for easing length. #jira UE-50588 Change 3677105 by Max.Chen Sequencer: Restore pre-animated state when changing active channels. #jira UE-50473 Change 3681069 by Max.Preussner LinearTimecode: Processing samples only if they have been dequeued successfully Change 3681783 by Andrew.Rodham Control Rig: Fixed crash attempting to zero out array with the wrong size Change 3681949 by Darren.Pegg OnTimecodeChange Delegate, Comments in DropTimecode, DropTimecode to string auto conversion Change 3682222 by Andrew.Porter EngineTest: Enabled MP4 Media Player test in the level ShaderModels. Set the texture ShaderModelPlayer_Video to use the correct media player. #jira UE-47213 Change 3683523 by Andrew.Rodham Sequencer: Display sub sequence name on binding ID pickers rather than the sub section name Change 3684318 by Max.Chen Sequencer: Fix crash in dragging a level sequence into the tree area. #jira UE-50902 Change 3687609 by Max.Chen Curve Editor: Add ModifyOwnerChange to CurveOwnerInterface. Call mark as changed when modifying keys or tangents. #jira UE-50882 Change 3687617 by Max.Chen Sequencer: Move some commands out of the generic sequencer command bindings so that they don't take over the viewport. ie. End for "Snap to Floor" should still function in the viewport. #jira UE-50997 Change 3687969 by Andrew.Rodham Sequencer: New compile on the fly logic - Sequencer is now able to compile partially or completely out-of-date evaluation templates from the source data as it needs. This affords much more efficient compilation when working within sequencer. - Added the concept of 'instance data' for sub sequences, available through the IMovieScenePlayer interface or persistent data stores. This replaces the compilation of specific templates for control rig templates. - Moved sub tracks and sections to MovieScene module - Removed the concept of shared tracks. Any previous uses should port over to shared execution tokens instead. #jira UE-46789 Change 3689884 by Max.Chen Sequencer: Remove null tracks on object bindings. Tracks can become null if they're from a plugin and the plugin is disabled. #jira UE-50839 Change 3690130 by Andrew.Rodham Sequencer: Fixed UMG animations not working with blueprint nativization Change 3690162 by Andrew.Rodham Sequencer: Fix assert when using filler shots #jira UE-51029 Change 3691904 by Max.Chen Sequencer: Fix overlap by looking at the key behind as well. This fixes a bug if there's 3 keyframes on consecutive frames, if you zoom out, you should see two bordered keys when the overlap threshold is passed. #jira UE-50993 Change 3692149 by Andrew.Rodham Sequencer: Change FSortByPrioritySegmentBlender::Blend to fall back to flag comparison if any sections are null for automation tests. - Combinations of null/non-null will never happen in the wild because we either run with sections or without, but the static analysis doesn't know that Change 3692212 by Andrew.Rodham Core: Changed TRange to pass-by-value for small types, inlined some functions Change 3693044 by Max.Chen Sequencer: Update pivot location for selection when closing sequencer. #jira UE-51132 Change 3693061 by Max.Chen Sequencer: Remove force evaluate on end scrubbing. Backout previous fix because 3657907 is the real fix. #jira UE-45905 Change 3694308 by Andrew.Rodham Sequencer: Sub tracks now blend correctly again #jira UE-51076 Change 3694365 by Andrew.Rodham Sequencer: Fixed exponential slow down when compiling large quantities of sub sequences on cook caused by not clamping sub-sequence compilation correctly Change 3698176 by Max.Chen Sequencer: Enable the camera cut track when popping back to the master only if there's a camera cut track in the master. This fixes an issue where if you don't have a camera cut track in the master, the camera gets locked to a camera cut in a subscene and you can't toggle out of it. #jira UE-51332 Change 3698979 by Max.Chen Sequencer: Fix delay before warmup causing sequences not to render. #jira UE-51307 Change 3700149 by Max.Chen Sequencer: Fix delay at shot boundaries causing sequences to not play back and render out. The shot id needs to be tracked to determine whether a new shot is encountered. #jira UE-51307 Change 3705624 by Max.Chen Sequencer: Reset drop node on drag leave Change 3718781 by Max.Preussner MediaAssets: Removed obsolete pointer checks (Playlist is always valid); added checks to enforce this invariant Change 3721586 by Max.Preussner MediaAssets: Added verbose logging to MediaPlayer BP functions Change 3721662 by Max.Preussner WmfMedia: Fixed media session not generating PlaybackEndReached event when session forced to stop #jira UE-50962 Change 3722954 by Max.Preussner MediaAssets: Removed looping option from play lists Change 3723076 by Andrew.Porter Removed controls for looping playlist. Change 3724202 by Max.Chen Sequencer: Spawn time optimizations #jira UE-32885 Change 3725359 by Max.Chen Sequencer: Fix spawnables not playing back. bIsEditorPreviewActor = false for sequencer spawnables so that BeginPlay() doesn't get skipped. #jira UE-51750 Change 3725362 by Max.Chen Sequencer: Change check to ensure for null object in property actuate. This prevents a crash when there's a track without a binding object. This occur when pasting a property track to the root. #jira UE-51713 Change 3725802 by Max.Chen Sequencer: Add the ability to drag sections up. #jira UE-43305 Change 3726520 by Max.Preussner MediaAssets: Fixed OnMediaOpened called when looping a source #jira UE-51773 Change 3728509 by Max.Chen Sequencer: Fix crash pasting a camera cut track because the outer isn't set to the movie scene. #jira UE-51787 Change 3729216 by Max.Chen Sequencer: Fix pre edit property chain broadcast so that the property path will include possible struct/array node. #jira UE-51525 Change 3729248 by Max.Chen Sequencer: Add default expansion states to allow track editors to specify them per track type. Material track is currently the only track that defaults to expanded. #jira UE-21741 Change 3729392 by Max.Preussner ImgMedia: Disabling video output when video track is selected Change 3729452 by Max.Preussner MediaPlayerEditor: Showing a notification if no video track available or selected Change 3729462 by Max.Preussner MediaPlayerEditor: Creating overlay font only once Change 3731155 by Max.Chen Sequencer: Set row index when creating a new take #jira UE-51867 Change 3731446 by Max.Chen Sequencer: Add null check and warning for invalid GetParameterCollectionInstance. Change 3731640 by Max.Chen Sequencer: Automatically create a camera cut track if a camera is dropped and there's no existing camera cut or there's no existing camera cut sections. #jira UE-51846 Change 3731653 by Max.Chen Sequencer: Defer details panel updates on scrubbing and playing. #jira UE-48448 Change 3732597 by Max.Chen Sequencer: Don't swap the camera cut section if it already exists and a camera is created. Change 3733554 by Max.Chen Sequencer: Fix crash when existing hotspot is null. Change 3734305 by Max.Preussner MediaAssets: Fixed assertion when assigning same media player to a media texture twice #jira UE-51012 Change 3735735 by Max.Preussner MediaFrameworkTest: Setting MediaAssets log category Verbose to prevent log spam in Editor Change 3736393 by Max.Chen Sequencer: Set min/max values for generic key area so that they don't default to 0,10. #jira UE-52012 Change 3736804 by Max.Chen Sequencer: Fix rotation rotator->quat->rotator conversion which prevents you from typing in a rotation of 0,0,320 into the key editor. Unwind rotations from the previous transform to the current transform so that the nearest rotation is set rather than the rotator->quat->rotator conversion. #jira UE-52009 #jira UE-34816 Change 3737790 by Max.Chen Sequencer: Follow up fix to quat->rot->quat so that unwinding is only processed if the last transform is valid. Change 3739738 by Max.Chen PR #4184: Unregister Missing TrackEditors in MovieSceneTools (Contributed by LordNed) Change 3741910 by Max.Preussner MfMedia: Simplified track switching code; enabled seeking Change 3742171 by Max.Preussner MediaAssets: Fixed timecode check to include current presentation time Change 3744889 by Max.Chen Sequencer: Use drag and drop actor factory if specifiied. This ensures that the correct actor factory is used in creating the object template for the sequencer spawner. This fixes some spawnables not getting created properly (ie. Empty Actor) #jira UE-51678 Change 3746049 by Andrew.Rodham FBX Import: Fixed tangent overrides producing the wrong type of key tangent modes Change 3747870 by Max.Chen Sequencer: Update auto scroll when moving keys/sections. #jira UE-31212 Change 3747885 by Max.Chen UMG: Remove template instance finish on pause. It appears that was only there to stop audio (CL #3161056). Instead, evaluate in the stopped position with the stopped playback state. #jira UE-47749 Change 3747914 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. #jira UE-49480 Change 3747915 by Max.Chen Sequencer: Set default completion mode for all sections to project default. #jira UE-49480 Change 3748377 by Max.Preussner EngineTest: Fixed media player automation test BP #jira UE-50637 Change 3748531 by Max.Preussner EngineTest: Fixed media player not opening media during FTest setup I fixed up the Blueprint. Also, don't use PlayOnOpen on the media player if you don't intend to play the movie after opening. You can call Pause right after opening. If you enable PlayOnOpen, the order of operations will not work, because it will first call Pause via the IsReady check in Tick and then Play via the PlayOnOpen checkbox. I disabled PlayOnOpen. #jira UE-47207 Change 3750362 by Max.Chen PR #4205: parameter not used bug fixes (Contributed by shrimpy56) Change 3750885 by Max.Chen Sequencer: Prevent throttling on the curve editor so that editor world tick can apply. #jira UE-51624 Change 3757123 by Max.Preussner MediaAssets: Allowing media players to be part of GC clusters #jira FORT-59774 #jira UE-51943 Change 3764055 by Max.Chen Sequencer: Add SetPlaybackPosition as latent action to fix crash when calling SetPlaybackPosition in an event. #jira UE-52270 Change 3764555 by Max.Chen Sequencer: Change camera cut binding from guid to object binding id to allow for subscene bindings Change 3764613 by Max.Chen Sequencer: Show binding ID picker customization on all details panels. Allow creation of new camera cut sections from existing bindings. Deprecate AddNewCameraCut(FGuid) Change 3766389 by Max.Chen Sequencer: Don't override existing camera binding id on postload if it's valid. Change 3766432 by Max.Chen Sequencer: Switch constraint guid to constraint binding ID #jira UE-52438 Change 3767160 by Max.Preussner WmfMedia: Added more logging Change 3767843 by Max.Preussner MediaAssets: Fixed Crash in UMediaSoundComponent::UpdatePlayer #jira UE-52594 Change 3771038 by Max.Preussner Engine: Changed message log back to ensure Cannot use message log on render thread as it may call LoadModule Change 3771071 by Max.Preussner MediaCompositing: Fixed default media plane material Change 3771287 by Max.Preussner Engine: Changed ensure to global log Change 3771450 by Max.Preussner MediaAssets: Fixed crash when dragging media player viewport #jira UE-52675 Change 3771461 by Max.Preussner ImgMedia: Fixed seeking not working when paused #jira UE-52677 Change 3772999 by Andrew.Rodham Sequencer: Added the ability to supply an instance data object to sequence runtime evaluation - This allows systems to inject information into a sequence at runtime, enabling more dynamic control of tracks - Level sequence actors use this by default to supply a dynamic 'transform origin' to all component transform tracks, to which all absolute transform sections will be added. #jira UE-46003 Change 3774633 by Max.Preussner MediaAssets: Fixed MediaPlayer.Prev/Next not playing automatically if player was playing previously #jira UE-52714 Change 3774961 by Max.Preussner UdpMessaging: Patch to make message serialization notification thread-safe #jira UE-52624 Change 3778108 by Max.Chen Sequencer: Scroll in track area. #jira UESEQ-330 Change 3778270 by Max.Chen Sequencer: Copy/cut/paste/duplicate object bindings FMovieSceneCopyableBinding - struct containing the copied FMovieSceneBinding, FMovieScenePossessable and FMovieSceneSpawnable MovieScene - AddPossessable, AddSpawnable with existing possessable or spawnable ISequencer - FOnMovieSceneBindingsPasted to allow fixing up bindings on paste #jira UESEQ-352, UESEQ-335 Change 3778674 by Max.Preussner Engine: Fixed online documentation for external texture registry Change 3778699 by Max.Preussner Engine: Fixed external textures not registering correctly in all cases #jira UE-52648 Change 3778776 by Max.Preussner Engine: Corrected code comments for external texture registry Change 3779153 by Max.Preussner LinearTimecode: Fixed plugin category Change 3779166 by Max.Preussner WmfMedia: Reversing FourceCC display string, so it displays correctly Change 3780576 by Max.Chen Sequencer: Fix viewport invalidation so that it happens on sequence evaluation. #jira UE-52836 Change 3780619 by Max.Chen Sequencer: Always save default spawnable state regardless of focused sequence. This fixes a bug where if you step back to the master sequence (and the spawnable still exists), and then scrub outside the region where the spawnable exists, it gets destroyed but saved default spawnable state doesn't get called because it's no longer the focused sequence. #jira UE-52008 Change 3781227 by Max.Chen Sequencer: Add playback speed settings menu #jira UESEQ-384 Change 3782213 by Max.Preussner WmfMedia: Fixed H.265 frames being dropped due to false negative buffer size check #jira UE-52859 Change 3782239 by Max.Chen Sequencer: Add shortcut to tooltips #jira UE-52795 Change 3782388 by Max.Preussner WmfMedia: Fixed IYUV encoded AVI not playing correctly #jira UE-52855 Change 3782541 by Chris.Babcock Protect against asking for duration before prepare completed in movie player #jira UE-52805 #ue4 #android Change 3787676 by Max.Chen Sequencer: Export unmatched float properties to custom attributes #jira UE-52983 Change 3787788 by Max.Preussner Extras: Natvis for FTimespan Change 3789419 by Max.Chen Sequencer: Fix import camera so that when new cameras are created, values from the fbx are going only to the newly created cameras. Also, added bReduceKeys and bReduceKeysTolerance to import fbx. #jira UE-52997 Change 3789628 by Max.Chen Sequencer: Remove Shift-C and Shift-D as a hotkey for toggling the cinematic viewport as it was causing some confusion when users accidentally hit it. Change 3789716 by Andrew.Rodham Seqeuncer: Fixed slot animation not being restored for montages that are recreated during evaluation - The issue here is that the animation system can deem montages as inactive at any point, and will re-create a new montage instance if this is the case. Previously, we stored pre-animated state on the anim instance, and cached the montage that we played, which meant that we attempt to restore a stale montage. - The solution is to store pre-animated state for the montages, and cache the anim instance. This means we'll always store pre-animated state if the montage is re-created. #jira UE-49981 Change 3789874 by Max.Chen Sequencer: Add option to only show selected nodes only ISequencer - Added OnGetIsBindingVisible(), OnGetIsTrackVisible() LevelEditorSequencerIntegration - implement OnGetIsBindingVisible based on actor selection #jira UESEQ-357 Change 3789877 by Max.Chen Control Rig: Implement IsTrackVisible to show nodes in the sequencer tree that are selected. #jira UESEQ-357 Change 3791514 by Andrew.Rodham Image Plate: Fixed image plates not showing up in high res screenshots - The image plate mesh had a LOD index of -1 which meant it never showed up when a LOD to render was specified - Also simplified the bounds calculation #jira UE-51764 Change 3791596 by Max.Chen Sequence Recorder: Don't record editor only components #jira UE-49071 Change 3791659 by Andrew.Rodham Sequencer: Event struct payloads now support user defined struct default values on creation #jira UE-45430 Change 3791718 by Max.Chen Sequence Recorder: Fix level sequences not triggering when recording. Level sequences would not get recorded if the world settings actor was not recorded. Change 3791761 by Max.Chen Sequencer: Find available non-overlapping row index when adding subsections. Change 3791837 by Max.Chen Sequencer: Fix sequencer not updating after toggling Bind Sequencer to PIE/Simulate while PIE is active. Change 3791875 by Max.Chen Sequence Recorder: Add recording button now adds for any selected actors. Change 3791880 by Max.Chen Sequence Recorder: Fix end pie not stopping sequence recording if not recording world settings. Change 3791932 by Max.Chen Sequence Recorder: Record spawned actors immediately so that they won't be missed if they're deleted before tick. Clean up queued recordings that were from spawned actors. Change 3791954 by Max.Chen Sequence Recorder: Don't process if not recording on end pie. Change 3791955 by Max.Chen Sequence Recorder: Fix recording spawnables not getting the correct position for being spawned at. Set a transform on the movie scene spawnable which will be used if the root component of the object template doesn't exist. Change 3792061 by Max.Chen Sequence Recorder: Change FOnRecordingStarted and FOnRecordingFinished to multicast delegate. If a sequence being recorded into is currently open in sequencer, it gets reloaded to prevent crashes. Change 3792271 by Max.Chen Sequence Recorder: Duplicate the actor to trigger before playing so that a sequence can be recorded and played back at the same time. #jira UE-49069 Change 3792292 by Max.Preussner MfMedia: Fixed tracks being reported in reverse order #jira UE-53074 Change 3792811 by Max.Chen Sequencer: Add option to disable camera cuts on the movie scene player. Change 3793341 by Max.Preussner AvfMedia: Fix for crash when opening AVF Media after opening multiple players Merged from shelved CL in Dev-Rendering #author richard.wallis #jira UE-52383 Change 3793642 by Max.Chen Sequencer: Delete and rename icons. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-52139 Change 3794678 by Max.Chen Sequencer: Fix crash on HandleRecordingFinished #jira UE-53178 Change 3795007 by Max.Preussner AudioMixer: Fix for AVF Media Player audio is garbled and has static #author ethan.geller #jira UE-52785 Change 3795103 by Max.Chen Sequencer: Add bKeyCreated for FKeyPropertyResult and notify movie scene data changed when a key is created. #jira UE-53175 Change 3795457 by Michael.Trepka Reverted one of the changes from CL 3793341 as it was causing a crash at exit #jira UE-53196 Change 3795739 by Max.Chen Sequencer: Set ease in/out objects as transactional. #jira UE-50594 Change 3796871 by Max.Preussner MediaAssets: Fixed media texture initialization related crash on Metal; fixed white output on inactive media player; added proper support for clear color #jira UE-51940 #jira UE-52932 Change 3796921 by Michael.Trepka Fix for a crash in AvfMediaPlayer related to reusing FAvfMediaPlayer object #jira UE-53181 Change 3797176 by Max.Preussner MediaAssets: Fixed white flicker when rapidly swapping media players on a media texture Also no longer clearing media textures each frame if they are not in use #jira UE-52932 Change 3797515 by Max.Chen Actor Sequence: Add nullptr check - fix actor sequence crash when actor sequence doesn't exist. #jira UE-49103 [CL 3800998 by Max Chen in Main branch]
2017-12-11 11:42:27 -05:00
bOverrideInstanceData = false;
// The level sequence actor defaults to never ticking by the tick manager because it is ticked separately in LevelTick
//PrimaryActorTick.bCanEverTick = false;
bAutoPlay_DEPRECATED = false;
bReplicates = true;
bReplicatePlayback = false;
bReplicateUsingRegisteredSubObjectList = true;
}
void ALevelSequenceActor::PostInitProperties()
{
Super::PostInitProperties();
// Have to initialize this here as any properties set on default subobjects inside the constructor
// Get stomped by the CDO's properties when the constructor exits.
GetSequencePlayer()->SetPlaybackClient(this);
GetSequencePlayer()->SetPlaybackSettings(PlaybackSettings);
}
void ALevelSequenceActor::RewindForReplay()
{
if (GetSequencePlayer())
{
GetSequencePlayer()->RewindForReplay();
}
}
bool ALevelSequenceActor::RetrieveBindingOverrides(const FGuid& InBindingId, FMovieSceneSequenceID InSequenceID, TArray<UObject*, TInlineAllocator<1>>& OutObjects) const
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3148965) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2883376 on 2016/02/26 by Max.Chen Sequencer: Refactored track instance API to better deal with invalid object bindings (fixes UE-27286) Change 3117044 on 2016/09/07 by Max.Chen Cine Camera: Add GetCineCameraComponent function from Cine Camera Actor. #jira UE-34036 Change 3117127 on 2016/09/07 by Max.Preussner MediaAssets: File media source path improvements Change 3117128 on 2016/09/07 by Max.Preussner PS4Media: Copied memory allocator fixes (CL# 3114158) Change 3117142 on 2016/09/07 by Max.Preussner MediaPlayerEditor: Normalizing paths of drag & drop media files Change 3117143 on 2016/09/07 by Max.Preussner Media: Made media player name accessible via IMediaPlayer Change 3117161 on 2016/09/07 by Max.Preussner PS4Media: Fixed CPU/GPU may crash due to race condition in destructor (UE-35696) Copied from Release-4.13 CL# 3117159 Change 3117184 on 2016/09/08 by Max.Chen Sequencer: Update sequencer selection on undo so that the sequencer selection stays in sync with the scene selection. Clear cached set of spawned objects in the spawn register only for spawned objects, rather than completely. This fixes an issue where deleting a selected spawnable and then undoing doesn't restore the spawnable as selected because the cached spawned objects gets cleared wholesale. #jira UE-27683 Change 3117831 on 2016/09/08 by Max.Chen Sequencer: Add option to create sub sequences for each master sequence shot. #jira UE-35378 Change 3118467 on 2016/09/08 by Max.Preussner Slate: ScrollyZoomy documentation cleanup pass Change 3118468 on 2016/09/08 by Max.Preussner MediaPlayerEditor: Added OriginalSize viewport mode (UE-35560) #jira UE-35560 Change 3118700 on 2016/09/08 by Max.Preussner Media: Removed still image tracks and sinks (UE-35767) #jira UE-35767 Change 3118987 on 2016/09/09 by Max.Chen Sequencer: Initialize player on post initialize components of level sequence actor. This is a speculative fix for GetSequencePlayer not initialized in Actor::BeginPlay before a Begin Play event in a level blueprint is invoked. #jira UE-34439 Change 3119896 on 2016/09/09 by Max.Preussner MediaAssets: Logging URL when failing to validate media source Change 3119921 on 2016/09/09 by Max.Preussner MediaAssets: Verbose logging sink shutdown in media texture Change 3120173 on 2016/09/09 by Max.Preussner WmfMedia: Refactored playback topology handling to support multiple tracks & track switching #jira UE-35383 #jira UE-35385 #jira UE-32582 Change 3120587 on 2016/09/11 by Max.Chen Fbx Export: Fix double transforms on an exported mesh. Added an option to map the skeletal motion to the root bone. In General Settings (Miscellaneous). #jira UE-35174 Change 3120685 on 2016/09/11 by Max.Chen Sequencer: Subtitles #jira UE-35824 Change 3121957 on 2016/09/12 by Max.Preussner MediaAssets: Replaced legacy texture sink shutdown code to fix race condition Change 3122113 on 2016/09/12 by Max.Preussner Media: Renamed Script track type to Text Change 3122386 on 2016/09/13 by Max.Chen Sequencer: Render movies with handles #jira UETOOL-733 Change 3124278 on 2016/09/14 by Max.Chen Sequencer: Add nullptr check for camera anim. #jira UE-35911 Change 3127211 on 2016/09/15 by Max.Preussner MediaAssets: Implemented Per-platform media player overrides in MediaAsset derived classes (UE-35478) #jira UE-35478 Change 3127536 on 2016/09/15 by Max.Preussner MediaAssets: Renamed platform player overrides property #jira UE-35478 Change 3127539 on 2016/09/15 by Max.Preussner MediaPlayerEditor: Implemented platform player overrides details customization for media assets (UE-35478) #jira UE-35478 Change 3127614 on 2016/09/15 by Max.Preussner MediaAssets: Fixed MediaSource serialization (UE-35478) #jira UE-35478 Change 3127617 on 2016/09/15 by Max.Preussner MediaAssets: Implemented PlatformMediaSource (UE-35387) #jira UE-35387 Change 3127626 on 2016/09/15 by Max.Preussner MediaAssets: Started to implement PlatformMediaSource customization (UE-35387) #jira UE-35387 Change 3128686 on 2016/09/16 by Max.Preussner WmfMedia: Added QuickTime to known video sub types Change 3128703 on 2016/09/16 by Max.Preussner WmfMedia: Fixed GuidToString printing incorrect byte sequence Change 3128705 on 2016/09/16 by Max.Preussner Core: Slightly more complicated unit test for TripleBuffer Change 3129281 on 2016/09/16 by Max.Preussner MediaPlayerEditor: Finished customization for PlatformMediaSource (UE-35387) #jira UE-35387 Change 3129291 on 2016/09/16 by Max.Preussner MediaAssets: Added verbose logging for dropped video frames Change 3130495 on 2016/09/19 by Max.Preussner PropertyEditor: Added missing forward declarations; code and documentation cleanup pass. Change 3131531 on 2016/09/19 by Max.Preussner Core: Accepting comma in milliseconds separator when parsing FTimespan Change 3131533 on 2016/09/19 by Max.Preussner Media: Started to implement subtitle support Change 3132468 on 2016/09/20 by Max.Preussner Core: Fixed TMap deserialization in struct serializer & updated unit tests Change 3132846 on 2016/09/20 by Max.Preussner SlateRemoteServer: Fixed Editor freezes and leaks memory when slate remote enabled (UE-35907) #jira UE-35907 Change 3136577 on 2016/09/22 by Frank.Fella Sequencer - Always use a unique name when creating dynamic material instances for animation to prevent reuse and resource issues. Change 3136661 on 2016/09/22 by Max.Preussner WmfMedia: Fixed memory leak while playing videos (UE-36289) #jira UE-36289 Change 3137035 on 2016/09/22 by Cody.Albert Changed FMovieScene3DTransformTrackInstance::Update to update ComponentVelocity Change 3137155 on 2016/09/22 by Max.Preussner MediaAssets: Added OpenFile method to MediaPlayer. Change 3138413 on 2016/09/23 by Cody.Albert Fixed ComponentVelocity to use UpdateData instead of FApp::GetDeltaTime() Change 3138627 on 2016/09/23 by Max.Preussner WmfMedia: Fixed FourCC types printing in reverse order Change 3139020 on 2016/09/23 by Max.Preussner MediaAssets: Fixed Crash when after playing media that requires a different conversion shader (UE-36393) #jira UE-36393 Change 3139028 on 2016/09/23 by Max.Preussner MediaPlayerEditor: Trimming leading & trailing whitespace in URL text box Change 3139046 on 2016/09/23 by Max.Preussner MediaPlayerEditor: Implemented statistics tab #jira UE-35395 Change 3139072 on 2016/09/23 by Max.Preussner MediaPlayerEditor: Stats and Info tab UI polish Change 3142667 on 2016/09/27 by Max.Preussner MediaAssets: Fixed serialization of older assets Change 3142669 on 2016/09/27 by Max.Preussner Automation: Allowing movie files to be renamed to match platform requirements Merged from Fortnite-Main CL# 3140907 Change 3145836 on 2016/09/29 by andrew.porter Adding and updating media framework test content Change 3145920 on 2016/09/29 by tim.gautier Added Media Audio actor to level QA-Media Change 3145979 on 2016/09/29 by andrew.porter Updating media player test content Change 3146311 on 2016/09/30 by Andrew.Rodham Sequencer: Fixed cursor jumping around inconsistently when ending a drag - The time slider controller was using a mixture of GetScreenSpacePosition and GetLastScreenSpacePosition when calculating times. It now only uses the current screen position. #jira UE-34738 Change 3147838 on 2016/09/30 by Max.Chen Sequencer: Fix crash when rendering with handle frames = 0. #jira UE-36708 Change 3147875 on 2016/10/01 by Max.Chen Sequencer - Don't crash when a bool track or visibility track has a null runtime object. #jira UE-36707 Change 3148176 on 2016/10/01 by Max.Chen Sequencer: When keep playback range in section bounds, infinite sections should be bounded by their keyframe times. #jira UE-36666 Change 3148824 on 2016/10/03 by Max.Preussner Media: Continued to implement subtitle tracks UpgradeNotes: - caption tracks were split into captions, subtitles, and generic text tracks - added IMediaOverlaySink - IMediaOutput::SetCaptionSink renamed to SetOverlaySink [CL 3149180 by Max Chen in Main branch]
2016-10-03 14:40:19 -04:00
{
return BindingOverrides->LocateBoundObjects(InBindingId, InSequenceID, OutObjects);
}
UObject* ALevelSequenceActor::GetInstanceData() const
{
return bOverrideInstanceData ? DefaultInstanceData : nullptr;
}
TOptional<EAspectRatioAxisConstraint> ALevelSequenceActor::GetAspectRatioAxisConstraint() const
{
TOptional<EAspectRatioAxisConstraint> AspectRatioAxisConstraint;
if (CameraSettings.bOverrideAspectRatioAxisConstraint)
{
AspectRatioAxisConstraint = CameraSettings.AspectRatioAxisConstraint;
}
return AspectRatioAxisConstraint;
}
bool ALevelSequenceActor::GetIsReplicatedPlayback() const
{
return bReplicatePlayback;
}
ULevelSequencePlayer* ALevelSequenceActor::GetSequencePlayer() const
{
PRAGMA_DISABLE_DEPRECATION_WARNINGS // make SequencePlayer protected and remove this for 5.6
return SequencePlayer;
PRAGMA_ENABLE_DEPRECATION_WARNINGS
}
void ALevelSequenceActor::SetReplicatePlayback(bool bInReplicatePlayback)
{
bReplicatePlayback = bInReplicatePlayback;
SetReplicates(bReplicatePlayback);
}
void ALevelSequenceActor::GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const
{
Super::GetLifetimeReplicatedProps(OutLifetimeProps);
PRAGMA_DISABLE_DEPRECATION_WARNINGS // make SequencePlayer protected and remove this for 5.6
DOREPLIFETIME(ALevelSequenceActor, SequencePlayer);
PRAGMA_ENABLE_DEPRECATION_WARNINGS
DOREPLIFETIME(ALevelSequenceActor, LevelSequenceAsset);
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3148965) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2883376 on 2016/02/26 by Max.Chen Sequencer: Refactored track instance API to better deal with invalid object bindings (fixes UE-27286) Change 3117044 on 2016/09/07 by Max.Chen Cine Camera: Add GetCineCameraComponent function from Cine Camera Actor. #jira UE-34036 Change 3117127 on 2016/09/07 by Max.Preussner MediaAssets: File media source path improvements Change 3117128 on 2016/09/07 by Max.Preussner PS4Media: Copied memory allocator fixes (CL# 3114158) Change 3117142 on 2016/09/07 by Max.Preussner MediaPlayerEditor: Normalizing paths of drag & drop media files Change 3117143 on 2016/09/07 by Max.Preussner Media: Made media player name accessible via IMediaPlayer Change 3117161 on 2016/09/07 by Max.Preussner PS4Media: Fixed CPU/GPU may crash due to race condition in destructor (UE-35696) Copied from Release-4.13 CL# 3117159 Change 3117184 on 2016/09/08 by Max.Chen Sequencer: Update sequencer selection on undo so that the sequencer selection stays in sync with the scene selection. Clear cached set of spawned objects in the spawn register only for spawned objects, rather than completely. This fixes an issue where deleting a selected spawnable and then undoing doesn't restore the spawnable as selected because the cached spawned objects gets cleared wholesale. #jira UE-27683 Change 3117831 on 2016/09/08 by Max.Chen Sequencer: Add option to create sub sequences for each master sequence shot. #jira UE-35378 Change 3118467 on 2016/09/08 by Max.Preussner Slate: ScrollyZoomy documentation cleanup pass Change 3118468 on 2016/09/08 by Max.Preussner MediaPlayerEditor: Added OriginalSize viewport mode (UE-35560) #jira UE-35560 Change 3118700 on 2016/09/08 by Max.Preussner Media: Removed still image tracks and sinks (UE-35767) #jira UE-35767 Change 3118987 on 2016/09/09 by Max.Chen Sequencer: Initialize player on post initialize components of level sequence actor. This is a speculative fix for GetSequencePlayer not initialized in Actor::BeginPlay before a Begin Play event in a level blueprint is invoked. #jira UE-34439 Change 3119896 on 2016/09/09 by Max.Preussner MediaAssets: Logging URL when failing to validate media source Change 3119921 on 2016/09/09 by Max.Preussner MediaAssets: Verbose logging sink shutdown in media texture Change 3120173 on 2016/09/09 by Max.Preussner WmfMedia: Refactored playback topology handling to support multiple tracks & track switching #jira UE-35383 #jira UE-35385 #jira UE-32582 Change 3120587 on 2016/09/11 by Max.Chen Fbx Export: Fix double transforms on an exported mesh. Added an option to map the skeletal motion to the root bone. In General Settings (Miscellaneous). #jira UE-35174 Change 3120685 on 2016/09/11 by Max.Chen Sequencer: Subtitles #jira UE-35824 Change 3121957 on 2016/09/12 by Max.Preussner MediaAssets: Replaced legacy texture sink shutdown code to fix race condition Change 3122113 on 2016/09/12 by Max.Preussner Media: Renamed Script track type to Text Change 3122386 on 2016/09/13 by Max.Chen Sequencer: Render movies with handles #jira UETOOL-733 Change 3124278 on 2016/09/14 by Max.Chen Sequencer: Add nullptr check for camera anim. #jira UE-35911 Change 3127211 on 2016/09/15 by Max.Preussner MediaAssets: Implemented Per-platform media player overrides in MediaAsset derived classes (UE-35478) #jira UE-35478 Change 3127536 on 2016/09/15 by Max.Preussner MediaAssets: Renamed platform player overrides property #jira UE-35478 Change 3127539 on 2016/09/15 by Max.Preussner MediaPlayerEditor: Implemented platform player overrides details customization for media assets (UE-35478) #jira UE-35478 Change 3127614 on 2016/09/15 by Max.Preussner MediaAssets: Fixed MediaSource serialization (UE-35478) #jira UE-35478 Change 3127617 on 2016/09/15 by Max.Preussner MediaAssets: Implemented PlatformMediaSource (UE-35387) #jira UE-35387 Change 3127626 on 2016/09/15 by Max.Preussner MediaAssets: Started to implement PlatformMediaSource customization (UE-35387) #jira UE-35387 Change 3128686 on 2016/09/16 by Max.Preussner WmfMedia: Added QuickTime to known video sub types Change 3128703 on 2016/09/16 by Max.Preussner WmfMedia: Fixed GuidToString printing incorrect byte sequence Change 3128705 on 2016/09/16 by Max.Preussner Core: Slightly more complicated unit test for TripleBuffer Change 3129281 on 2016/09/16 by Max.Preussner MediaPlayerEditor: Finished customization for PlatformMediaSource (UE-35387) #jira UE-35387 Change 3129291 on 2016/09/16 by Max.Preussner MediaAssets: Added verbose logging for dropped video frames Change 3130495 on 2016/09/19 by Max.Preussner PropertyEditor: Added missing forward declarations; code and documentation cleanup pass. Change 3131531 on 2016/09/19 by Max.Preussner Core: Accepting comma in milliseconds separator when parsing FTimespan Change 3131533 on 2016/09/19 by Max.Preussner Media: Started to implement subtitle support Change 3132468 on 2016/09/20 by Max.Preussner Core: Fixed TMap deserialization in struct serializer & updated unit tests Change 3132846 on 2016/09/20 by Max.Preussner SlateRemoteServer: Fixed Editor freezes and leaks memory when slate remote enabled (UE-35907) #jira UE-35907 Change 3136577 on 2016/09/22 by Frank.Fella Sequencer - Always use a unique name when creating dynamic material instances for animation to prevent reuse and resource issues. Change 3136661 on 2016/09/22 by Max.Preussner WmfMedia: Fixed memory leak while playing videos (UE-36289) #jira UE-36289 Change 3137035 on 2016/09/22 by Cody.Albert Changed FMovieScene3DTransformTrackInstance::Update to update ComponentVelocity Change 3137155 on 2016/09/22 by Max.Preussner MediaAssets: Added OpenFile method to MediaPlayer. Change 3138413 on 2016/09/23 by Cody.Albert Fixed ComponentVelocity to use UpdateData instead of FApp::GetDeltaTime() Change 3138627 on 2016/09/23 by Max.Preussner WmfMedia: Fixed FourCC types printing in reverse order Change 3139020 on 2016/09/23 by Max.Preussner MediaAssets: Fixed Crash when after playing media that requires a different conversion shader (UE-36393) #jira UE-36393 Change 3139028 on 2016/09/23 by Max.Preussner MediaPlayerEditor: Trimming leading & trailing whitespace in URL text box Change 3139046 on 2016/09/23 by Max.Preussner MediaPlayerEditor: Implemented statistics tab #jira UE-35395 Change 3139072 on 2016/09/23 by Max.Preussner MediaPlayerEditor: Stats and Info tab UI polish Change 3142667 on 2016/09/27 by Max.Preussner MediaAssets: Fixed serialization of older assets Change 3142669 on 2016/09/27 by Max.Preussner Automation: Allowing movie files to be renamed to match platform requirements Merged from Fortnite-Main CL# 3140907 Change 3145836 on 2016/09/29 by andrew.porter Adding and updating media framework test content Change 3145920 on 2016/09/29 by tim.gautier Added Media Audio actor to level QA-Media Change 3145979 on 2016/09/29 by andrew.porter Updating media player test content Change 3146311 on 2016/09/30 by Andrew.Rodham Sequencer: Fixed cursor jumping around inconsistently when ending a drag - The time slider controller was using a mixture of GetScreenSpacePosition and GetLastScreenSpacePosition when calculating times. It now only uses the current screen position. #jira UE-34738 Change 3147838 on 2016/09/30 by Max.Chen Sequencer: Fix crash when rendering with handle frames = 0. #jira UE-36708 Change 3147875 on 2016/10/01 by Max.Chen Sequencer - Don't crash when a bool track or visibility track has a null runtime object. #jira UE-36707 Change 3148176 on 2016/10/01 by Max.Chen Sequencer: When keep playback range in section bounds, infinite sections should be bounded by their keyframe times. #jira UE-36666 Change 3148824 on 2016/10/03 by Max.Preussner Media: Continued to implement subtitle tracks UpgradeNotes: - caption tracks were split into captions, subtitles, and generic text tracks - added IMediaOverlaySink - IMediaOutput::SetCaptionSink renamed to SetOverlaySink [CL 3149180 by Max Chen in Main branch]
2016-10-03 14:40:19 -04:00
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3057646) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2840895 on 2016/01/23 by Max.Chen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2937981 on 2016/04/08 by Max.Chen Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 3051834 on 2016/07/15 by Max.Chen Sequencer: Adjust tooltips for autokeying and key all to be more descriptive. #jira UE-33081 Change 3053057 on 2016/07/17 by Max.Chen Sequencer: String track editor #jira UE-32141 Change 3053083 on 2016/07/18 by Max.Chen Sequence Recorder: Add an option to maximize the viewport when starting recording. Change 3053084 on 2016/07/18 by Max.Chen Added UnmapAction to FUICommandList Sequencer uses this to re-hook into the level editor commands without issue when it re-opens. Change 3053085 on 2016/07/18 by Max.Chen Sequence Recorder: Display name of next sequence in sequence recorder Also display on-screen during countdown Change 3053086 on 2016/07/18 by Max.Chen Sequence Recorder: Improved recording indicator icon, text & timer Also fixed a bug with record/stop button where they would not show/enable correctly if no animations were being recorded for a sequence. Change 3053089 on 2016/07/18 by Max.Chen Sequencer: Added hotkey for recording selected actors Alt+R now records selected actor into sequencer. Change 3055488 on 2016/07/19 by Max.Chen Sequencer: Fixed NotifyCameraCut() being erroneously called every frame (in FSequencer), and not being called at all in ULevelSequencePlayer Change 3056783 on 2016/07/19 by Max.Preussner PS4Media: Attempting to fix playlist advance on PS4 (UE-33481) #jira UE-33481 [CL 3057666 by Max Chen in Main branch]
2016-07-20 10:38:29 -04:00
void ALevelSequenceActor::PreInitializeComponents()
{
Super::PreInitializeComponents();
UWorld* StreamingWorld = nullptr;
FTopLevelAssetPath StreamedLevelAssetPath;
// Initialize the level streaming asset path for this actor if possible/necessary
if (ULevel* Level = GetLevel())
{
// Default to owning world (to resolve AlwaysLoaded actors not part of a Streaming Level and Disabled Streaming World Partitions)
StreamingWorld = Level->OwningWorld;
// Construct the path to the level asset that the streamed level relates to
ULevelStreaming* LevelStreaming = ULevelStreaming::FindStreamingLevel(Level);
if (LevelStreaming)
{
// Sub world partitions as always loaded cells + traditional level streaming
if (Level->IsWorldPartitionRuntimeCell())
{
StreamingWorld = LevelStreaming->GetStreamingWorld();
check(StreamingWorld);
LevelStreaming = ULevelStreaming::FindStreamingLevel(StreamingWorld->PersistentLevel);
}
else
{
StreamingWorld = Level->GetTypedOuter<UWorld>();
}
}
if (LevelStreaming)
{
// StreamedLevelPackage is a package name of the form /Game/Folder/MapName, not a full asset path
FString StreamedLevelPackage = ((LevelStreaming->PackageNameToLoad == NAME_None) ? LevelStreaming->GetWorldAssetPackageFName() : LevelStreaming->PackageNameToLoad).ToString();
int32 SlashPos = 0;
if (StreamedLevelPackage.FindLastChar('/', SlashPos) && SlashPos < StreamedLevelPackage.Len() - 1)
{
StreamedLevelAssetPath = FTopLevelAssetPath(*StreamedLevelPackage, &StreamedLevelPackage[SlashPos + 1]);
}
}
}
GetSequencePlayer()->SetSourceActorContext(
StreamingWorld,
WorldPartitionResolveData.ContainerID,
WorldPartitionResolveData.SourceWorldAssetPath.IsValid() ? WorldPartitionResolveData.SourceWorldAssetPath : StreamedLevelAssetPath
);
}
void ALevelSequenceActor::PostInitializeComponents()
{
Super::PostInitializeComponents();
if (HasAuthority())
{
SetReplicates(bReplicatePlayback);
}
// Initialize this player for tick as soon as possible to ensure that a persistent
// reference to the tick manager is maintained
GetSequencePlayer()->InitializeForTick(this);
InitializePlayer();
}
void ALevelSequenceActor::BeginPlay()
{
Super::BeginPlay();
if (GetSequencePlayer())
{
AddReplicatedSubObject(GetSequencePlayer());
}
if (PlaybackSettings.bAutoPlay)
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3148965) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2883376 on 2016/02/26 by Max.Chen Sequencer: Refactored track instance API to better deal with invalid object bindings (fixes UE-27286) Change 3117044 on 2016/09/07 by Max.Chen Cine Camera: Add GetCineCameraComponent function from Cine Camera Actor. #jira UE-34036 Change 3117127 on 2016/09/07 by Max.Preussner MediaAssets: File media source path improvements Change 3117128 on 2016/09/07 by Max.Preussner PS4Media: Copied memory allocator fixes (CL# 3114158) Change 3117142 on 2016/09/07 by Max.Preussner MediaPlayerEditor: Normalizing paths of drag & drop media files Change 3117143 on 2016/09/07 by Max.Preussner Media: Made media player name accessible via IMediaPlayer Change 3117161 on 2016/09/07 by Max.Preussner PS4Media: Fixed CPU/GPU may crash due to race condition in destructor (UE-35696) Copied from Release-4.13 CL# 3117159 Change 3117184 on 2016/09/08 by Max.Chen Sequencer: Update sequencer selection on undo so that the sequencer selection stays in sync with the scene selection. Clear cached set of spawned objects in the spawn register only for spawned objects, rather than completely. This fixes an issue where deleting a selected spawnable and then undoing doesn't restore the spawnable as selected because the cached spawned objects gets cleared wholesale. #jira UE-27683 Change 3117831 on 2016/09/08 by Max.Chen Sequencer: Add option to create sub sequences for each master sequence shot. #jira UE-35378 Change 3118467 on 2016/09/08 by Max.Preussner Slate: ScrollyZoomy documentation cleanup pass Change 3118468 on 2016/09/08 by Max.Preussner MediaPlayerEditor: Added OriginalSize viewport mode (UE-35560) #jira UE-35560 Change 3118700 on 2016/09/08 by Max.Preussner Media: Removed still image tracks and sinks (UE-35767) #jira UE-35767 Change 3118987 on 2016/09/09 by Max.Chen Sequencer: Initialize player on post initialize components of level sequence actor. This is a speculative fix for GetSequencePlayer not initialized in Actor::BeginPlay before a Begin Play event in a level blueprint is invoked. #jira UE-34439 Change 3119896 on 2016/09/09 by Max.Preussner MediaAssets: Logging URL when failing to validate media source Change 3119921 on 2016/09/09 by Max.Preussner MediaAssets: Verbose logging sink shutdown in media texture Change 3120173 on 2016/09/09 by Max.Preussner WmfMedia: Refactored playback topology handling to support multiple tracks & track switching #jira UE-35383 #jira UE-35385 #jira UE-32582 Change 3120587 on 2016/09/11 by Max.Chen Fbx Export: Fix double transforms on an exported mesh. Added an option to map the skeletal motion to the root bone. In General Settings (Miscellaneous). #jira UE-35174 Change 3120685 on 2016/09/11 by Max.Chen Sequencer: Subtitles #jira UE-35824 Change 3121957 on 2016/09/12 by Max.Preussner MediaAssets: Replaced legacy texture sink shutdown code to fix race condition Change 3122113 on 2016/09/12 by Max.Preussner Media: Renamed Script track type to Text Change 3122386 on 2016/09/13 by Max.Chen Sequencer: Render movies with handles #jira UETOOL-733 Change 3124278 on 2016/09/14 by Max.Chen Sequencer: Add nullptr check for camera anim. #jira UE-35911 Change 3127211 on 2016/09/15 by Max.Preussner MediaAssets: Implemented Per-platform media player overrides in MediaAsset derived classes (UE-35478) #jira UE-35478 Change 3127536 on 2016/09/15 by Max.Preussner MediaAssets: Renamed platform player overrides property #jira UE-35478 Change 3127539 on 2016/09/15 by Max.Preussner MediaPlayerEditor: Implemented platform player overrides details customization for media assets (UE-35478) #jira UE-35478 Change 3127614 on 2016/09/15 by Max.Preussner MediaAssets: Fixed MediaSource serialization (UE-35478) #jira UE-35478 Change 3127617 on 2016/09/15 by Max.Preussner MediaAssets: Implemented PlatformMediaSource (UE-35387) #jira UE-35387 Change 3127626 on 2016/09/15 by Max.Preussner MediaAssets: Started to implement PlatformMediaSource customization (UE-35387) #jira UE-35387 Change 3128686 on 2016/09/16 by Max.Preussner WmfMedia: Added QuickTime to known video sub types Change 3128703 on 2016/09/16 by Max.Preussner WmfMedia: Fixed GuidToString printing incorrect byte sequence Change 3128705 on 2016/09/16 by Max.Preussner Core: Slightly more complicated unit test for TripleBuffer Change 3129281 on 2016/09/16 by Max.Preussner MediaPlayerEditor: Finished customization for PlatformMediaSource (UE-35387) #jira UE-35387 Change 3129291 on 2016/09/16 by Max.Preussner MediaAssets: Added verbose logging for dropped video frames Change 3130495 on 2016/09/19 by Max.Preussner PropertyEditor: Added missing forward declarations; code and documentation cleanup pass. Change 3131531 on 2016/09/19 by Max.Preussner Core: Accepting comma in milliseconds separator when parsing FTimespan Change 3131533 on 2016/09/19 by Max.Preussner Media: Started to implement subtitle support Change 3132468 on 2016/09/20 by Max.Preussner Core: Fixed TMap deserialization in struct serializer & updated unit tests Change 3132846 on 2016/09/20 by Max.Preussner SlateRemoteServer: Fixed Editor freezes and leaks memory when slate remote enabled (UE-35907) #jira UE-35907 Change 3136577 on 2016/09/22 by Frank.Fella Sequencer - Always use a unique name when creating dynamic material instances for animation to prevent reuse and resource issues. Change 3136661 on 2016/09/22 by Max.Preussner WmfMedia: Fixed memory leak while playing videos (UE-36289) #jira UE-36289 Change 3137035 on 2016/09/22 by Cody.Albert Changed FMovieScene3DTransformTrackInstance::Update to update ComponentVelocity Change 3137155 on 2016/09/22 by Max.Preussner MediaAssets: Added OpenFile method to MediaPlayer. Change 3138413 on 2016/09/23 by Cody.Albert Fixed ComponentVelocity to use UpdateData instead of FApp::GetDeltaTime() Change 3138627 on 2016/09/23 by Max.Preussner WmfMedia: Fixed FourCC types printing in reverse order Change 3139020 on 2016/09/23 by Max.Preussner MediaAssets: Fixed Crash when after playing media that requires a different conversion shader (UE-36393) #jira UE-36393 Change 3139028 on 2016/09/23 by Max.Preussner MediaPlayerEditor: Trimming leading & trailing whitespace in URL text box Change 3139046 on 2016/09/23 by Max.Preussner MediaPlayerEditor: Implemented statistics tab #jira UE-35395 Change 3139072 on 2016/09/23 by Max.Preussner MediaPlayerEditor: Stats and Info tab UI polish Change 3142667 on 2016/09/27 by Max.Preussner MediaAssets: Fixed serialization of older assets Change 3142669 on 2016/09/27 by Max.Preussner Automation: Allowing movie files to be renamed to match platform requirements Merged from Fortnite-Main CL# 3140907 Change 3145836 on 2016/09/29 by andrew.porter Adding and updating media framework test content Change 3145920 on 2016/09/29 by tim.gautier Added Media Audio actor to level QA-Media Change 3145979 on 2016/09/29 by andrew.porter Updating media player test content Change 3146311 on 2016/09/30 by Andrew.Rodham Sequencer: Fixed cursor jumping around inconsistently when ending a drag - The time slider controller was using a mixture of GetScreenSpacePosition and GetLastScreenSpacePosition when calculating times. It now only uses the current screen position. #jira UE-34738 Change 3147838 on 2016/09/30 by Max.Chen Sequencer: Fix crash when rendering with handle frames = 0. #jira UE-36708 Change 3147875 on 2016/10/01 by Max.Chen Sequencer - Don't crash when a bool track or visibility track has a null runtime object. #jira UE-36707 Change 3148176 on 2016/10/01 by Max.Chen Sequencer: When keep playback range in section bounds, infinite sections should be bounded by their keyframe times. #jira UE-36666 Change 3148824 on 2016/10/03 by Max.Preussner Media: Continued to implement subtitle tracks UpgradeNotes: - caption tracks were split into captions, subtitles, and generic text tracks - added IMediaOverlaySink - IMediaOutput::SetCaptionSink renamed to SetOverlaySink [CL 3149180 by Max Chen in Main branch]
2016-10-03 14:40:19 -04:00
{
GetSequencePlayer()->Play();
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
}
}
void ALevelSequenceActor::EndPlay(const EEndPlayReason::Type EndPlayReason)
{
if (ULevelSequencePlayer* Player = GetSequencePlayer())
{
RemoveReplicatedSubObject(Player);
// Stop may modify a lot of actor state so it needs to be called
// during EndPlay (when Actors + World are still valid) instead
// of waiting for the UObject to be destroyed by GC.
Player->Stop();
Player->OnPlay.RemoveAll(this);
Player->OnPlayReverse.RemoveAll(this);
Player->OnStop.RemoveAll(this);
Player->TearDown();
// This actor may be being destroyed due to leaving net-relevancy, in which case we need to explicitly
// mark the sub-object as garbage. Otherwise, re-entering relevancy will recreate the actor on the client
// but may find and assign the existing yet-un-GC'd player sub-object from the previous actor instance.
// Actor sub-objects may be automatically marked garbage some day, but for now we take care of it manually.
if (LevelSequenceActorCVars::bMarkSequencePlayerAsGarbageOnDestroy && (EndPlayReason == EEndPlayReason::Destroyed))
{
Player->MarkAsGarbage();
}
}
Super::EndPlay(EndPlayReason);
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3116759) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2840895 on 2016/01/23 by Max.Chen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2937981 on 2016/04/08 by Max.Chen Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 3058930 on 2016/07/20 by Max.Chen Sequencer: Fix crash in undo/redo of creating a sub section. Change 3062696 on 2016/07/24 by Max.Chen Sequencer: Remove curve editor visibility as a toggleable config. It's now just a toggleable state that defaults to false. This fixes unexpected behavior of staying in the curve editor when restarting the editor or switching to a different level sequence asset. Change 3062763 on 2016/07/24 by Max.Chen Sequencer: Tweak track colors Audio track brighter Transform, bool, event tracks less saturated Recording subsection more saturated Fade track gradient Change 3064262 on 2016/07/26 by Max.Chen Sequencer: Add Convert to Possessable #jira UE-32139 Change 3070101 on 2016/07/29 by Max.Chen Sequence Recorder: Record actors as possessables Added GetWorld() check when resolving bindings in case the world is being torn down. Change 3070105 on 2016/07/29 by Max.Chen Sequence Recorder: Add cine camera component to default classes and properties to record. Change 3074750 on 2016/08/02 by Frank.Fella Sequencer - Simplify keyframing from a mixture of 5 boolean options to the 3 modes we actually use and move some of the logic directly into the keyframe track for consistency. Also make some keyframing structs fields constant because public fields lead lead to side effects and difficult debugging. This is part of a larger keyframing refactor to fix the inconsistent behavior of default values. I've separated it into 3 separate smaller targeted refactors to make reviews easier which is why I'm checking in with rb=none. Change 3075181 on 2016/08/03 by Andrew.Rodham Sequencer: Added ability to record audio as part of a recorded sequence Implementing the ability to get a global audio clock time per audio device. Use FAudioDevice::GetAudioClock() to get the current audio clock (in seconds). Change 3078922 on 2016/08/05 by Andrew.Rodham Sequencer: Spawnables now use deferred spawning #2613 #jira UE-33571 Change 3084262 on 2016/08/10 by Frank.Fella Sequencer - Change the 3d constraint tracks to clear the actors transform themselves instead of the transform track clearing it every frame. Change 3084851 on 2016/08/10 by Frank.Fella Sequencer - Make default value handling more consistent + Add an setting for whether or not to automatically set default values for tracks which is enabled for the level sequencer and disabled for UMG. + Add menu item for clearing default values for a track. + Fix property and transform track instances so that they provide the current value when evaluating the section so that empty sections with no defaults don't modify the runtime object. + Change the keyframe track editor so that default values are always set when a transform or property changes if auto set default values is turned on. + Change the key editors so that they always update default values whenever they are changed if auto set default values is turned on. Change 3089063 on 2016/08/15 by Max.Chen Sequence Recorder: Add countdown timer source image. Expand and clamp countdown to 9 seconds. #jira UE-30359 Change 3091925 on 2016/08/17 by Max.Chen Sequencer: Restructure level sequence actor with propert scene component and sprite component attached to it. This fixes an ensure when double clicking on the level sequence actor in editor which expects that there is a non editor only root component. #jira UE-34790, UE-34093 Change 3092201 on 2016/08/17 by Max.Chen Sequencer: Attach audio component to actor when creating a spatialized sound. Same thing happens in Matinee. #jira UE-34768 Change 3092267 on 2016/08/17 by Max.Chen Sequencer: Audio spatializiation components should be transient and not owned by the actor it's assigned to. #jira UE-34770 Change 3098930 on 2016/08/23 by Max.Chen Sequencer: Set skeletal meshes to always tick pose and refresh bones in the skeletal animation track instance pre update pass. #jira UE-8191 Change 3099461 on 2016/08/24 by Max.Chen Cine Camera: Add icons for cine camera actor, camera rig rail, camera rig crane. Change 3099527 on 2016/08/24 by Max.Chen Cine Camera: Force the roll and yaw of the camera crane mount to be 0. The yaw is controlled by the crane yaw control. #jira UE-34968 Change 3099739 on 2016/08/24 by Max.Chen Cine Camera: Add toggles to lock the mount pitch/yaw for the crane. By default they are not locked so the camera will stay level with the ground. #jira UE-34924 Change 3101574 on 2016/08/25 by Max.Chen Sequencer: Validate property path before creating a track. This fixes a bug where two tracks for the same property could be created since property changes could come from the actor or the component. #jira UE-29041 Change 3102253 on 2016/08/26 by Max.Chen Cine Camera: Unregister any owned spline mesh components that aren't being used for visualization. This fixes a bug where undo doesn't match the spline points. #jira UE-34607 Change 3103891 on 2016/08/27 by Max.Chen Movie Capture: Fix game mode override option so that it works in capture in editor. #jira UE-33248 Change 3104411 on 2016/08/29 by Max.Chen Sequencer: Refix attached audio component so that it's owned by the actor it's attached to but still transient. #jira UE-35239 Change 3105807 on 2016/08/30 by Max.Chen Sequencer: Restore state when stopping the level sequence player. #jira UE-35285 Change 3105988 on 2016/08/30 by Max.Chen Sequencer: Fix set key time so that it expands the section range if necessary. #jira UE-35275 Change 3107109 on 2016/08/30 by Max.Preussner MediaPlayerEditor: Added support for dragging and dropping media files into media player editor Change 3107347 on 2016/08/30 by Max.Chen Sequencer: Fix crash when key area is null. Also, improved middle mouse drag to create a key mechanism so that the operation is done in one undoable transaction. #jira UE-32410 Change 3107350 on 2016/08/30 by Max.Chen Sequencer: Add option to refresh runtime instances immediately. This fixes a bug when setting keyframes with the key editors - if the instances aren't updated immediately, the wrong/stale value will get keyed. #jira UE-35343 Change 3112245 on 2016/09/02 by Max.Preussner WmfMedia: Fixed WMV2 encoded videos are too bright (UE-35529) #jira UE-35529 Change 3112621 on 2016/09/02 by Max.Preussner Engine: Subtitle manager code & documentation cleanup pass Change 3112712 on 2016/09/02 by Max.Preussner Matinee: Fixed incorrect subtitle timing & rendering when scrubbing (Github PR# 2591 & 2762) https://github.com/EpicGames/UnrealEngine/pull/2591 https://github.com/EpicGames/UnrealEngine/pull/2762 #jira UE-35536 #jira UE-33002 Change 3113052 on 2016/09/03 by Max.Chen Cine Camera: Enable "Actor to Track" as a keyable property. #jira UE-33475 Change 3114912 on 2016/09/06 by Max.Preussner AvfMedia: Added missing supported file extensions (UE-35635) #jira UE-35635 Change 3114951 on 2016/09/06 by Max.Preussner AvfMedia: Added media source factory file extension descriptions (UE-35635) #jira UE-35635 Change 3115411 on 2016/09/07 by Max.Chen Sequencer: Fix properties not getting bound when converting from matinee to level sequence tracks. #jira UE-35107 Change 3115412 on 2016/09/07 by Max.Chen Editor: Add GEditor check - fix a crash when using sequence recorder with -game. #jira UE-35571 Change 3115413 on 2016/09/07 by Max.Chen Seqeuencer: Put the master sequence dialog's details views in a scrollbox to fix the hidden buttons. #jira UE-35508 Change 3116156 on 2016/09/07 by Max.Preussner MediaAssets: Fixed native player not being reused #jira UE-35656 Change 3116225 on 2016/09/07 by Max.Preussner MediaAssets: Hooking up caption sink in media player [CL 3117035 by Max Chen in Main branch]
2016-09-07 20:49:08 -04:00
void ALevelSequenceActor::PostLoad()
{
Super::PostLoad();
// If autoplay was previously enabled, initialize the playback settings to autoplay
if (bAutoPlay_DEPRECATED)
{
PlaybackSettings.bAutoPlay = bAutoPlay_DEPRECATED;
bAutoPlay_DEPRECATED = false;
}
// If we previously were using bRestoreState on our PlaybackSettings, upgrade to the enum version.
#if WITH_EDITORONLY_DATA
if (PlaybackSettings.bRestoreState_DEPRECATED)
{
PlaybackSettings.FinishCompletionStateOverride = EMovieSceneCompletionModeOverride::ForceRestoreState;
PlaybackSettings.bRestoreState_DEPRECATED = false;
}
#endif
GetSequencePlayer()->SetPlaybackSettings(PlaybackSettings);
Sequencer: Separate application of UMovieSceneSequencePlayer::PlaybackSettings from Initialize Captain's log of the reason behind why this is required: When spawning a replicated Level Sequence Actor on the server, a SequencePlayer subobject is also created and replicated along with it. If the sequence player is interacted with directly (by way of calling things like PlayLooping, which adjust the loop count of the player's playback settings directly), there can be a justifiable discrepancy in playback settings on the server between the actor and its player. This is not a problem in practice because the Actor's playback settings are only used for initialization. When these 2 objects are replicated to the client, the client receives the properties for both the actor and sequence player in the same network bunch, applies them, then calls PostNetReceive on both objects. Unfortunately it can call ALevelSequenceActor::PostNetReceive before UMovieSceneSequencePlayer::PostNetReceive, which means the Actor ends up calling Initialize on the player (because it hasn't been set up yet - it's only just been spawned by the net code), which ends up trampling over the player's PlaybackSettings that were just applied by the net replication. Since the shadow state on the server thinks it has already sent those properties to the client, it never sends them again, so the client doesn't think it's looping when the server does. #rb Ludovic.Chabant, Max.Chen #preflight 63345955031c90cb0bab2afb [CL 22240516 by max chen in ue5-main branch]
2022-09-28 22:24:01 -04:00
#if WITH_EDITORONLY_DATA
if (LevelSequence_DEPRECATED.IsValid())
{
if (!LevelSequenceAsset)
{
LevelSequenceAsset = Cast<ULevelSequence>(LevelSequence_DEPRECATED.ResolveObject());
}
// If we don't have the sequence asset loaded, schedule a load for it
if (LevelSequenceAsset)
{
LevelSequence_DEPRECATED.Reset();
}
else
{
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// We intentionally do not attempt to load any asset in PostLoad other than by way of LoadPackageAsync
// since under some circumstances it is possible for the sequence to only be partially loaded.
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LoadPackageAsync(LevelSequence_DEPRECATED.GetLongPackageName(), FLoadPackageAsyncDelegate::CreateUObject(this, &ALevelSequenceActor::OnSequenceLoaded));
}
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3116759) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2840895 on 2016/01/23 by Max.Chen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2937981 on 2016/04/08 by Max.Chen Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 3058930 on 2016/07/20 by Max.Chen Sequencer: Fix crash in undo/redo of creating a sub section. Change 3062696 on 2016/07/24 by Max.Chen Sequencer: Remove curve editor visibility as a toggleable config. It's now just a toggleable state that defaults to false. This fixes unexpected behavior of staying in the curve editor when restarting the editor or switching to a different level sequence asset. Change 3062763 on 2016/07/24 by Max.Chen Sequencer: Tweak track colors Audio track brighter Transform, bool, event tracks less saturated Recording subsection more saturated Fade track gradient Change 3064262 on 2016/07/26 by Max.Chen Sequencer: Add Convert to Possessable #jira UE-32139 Change 3070101 on 2016/07/29 by Max.Chen Sequence Recorder: Record actors as possessables Added GetWorld() check when resolving bindings in case the world is being torn down. Change 3070105 on 2016/07/29 by Max.Chen Sequence Recorder: Add cine camera component to default classes and properties to record. Change 3074750 on 2016/08/02 by Frank.Fella Sequencer - Simplify keyframing from a mixture of 5 boolean options to the 3 modes we actually use and move some of the logic directly into the keyframe track for consistency. Also make some keyframing structs fields constant because public fields lead lead to side effects and difficult debugging. This is part of a larger keyframing refactor to fix the inconsistent behavior of default values. I've separated it into 3 separate smaller targeted refactors to make reviews easier which is why I'm checking in with rb=none. Change 3075181 on 2016/08/03 by Andrew.Rodham Sequencer: Added ability to record audio as part of a recorded sequence Implementing the ability to get a global audio clock time per audio device. Use FAudioDevice::GetAudioClock() to get the current audio clock (in seconds). Change 3078922 on 2016/08/05 by Andrew.Rodham Sequencer: Spawnables now use deferred spawning #2613 #jira UE-33571 Change 3084262 on 2016/08/10 by Frank.Fella Sequencer - Change the 3d constraint tracks to clear the actors transform themselves instead of the transform track clearing it every frame. Change 3084851 on 2016/08/10 by Frank.Fella Sequencer - Make default value handling more consistent + Add an setting for whether or not to automatically set default values for tracks which is enabled for the level sequencer and disabled for UMG. + Add menu item for clearing default values for a track. + Fix property and transform track instances so that they provide the current value when evaluating the section so that empty sections with no defaults don't modify the runtime object. + Change the keyframe track editor so that default values are always set when a transform or property changes if auto set default values is turned on. + Change the key editors so that they always update default values whenever they are changed if auto set default values is turned on. Change 3089063 on 2016/08/15 by Max.Chen Sequence Recorder: Add countdown timer source image. Expand and clamp countdown to 9 seconds. #jira UE-30359 Change 3091925 on 2016/08/17 by Max.Chen Sequencer: Restructure level sequence actor with propert scene component and sprite component attached to it. This fixes an ensure when double clicking on the level sequence actor in editor which expects that there is a non editor only root component. #jira UE-34790, UE-34093 Change 3092201 on 2016/08/17 by Max.Chen Sequencer: Attach audio component to actor when creating a spatialized sound. Same thing happens in Matinee. #jira UE-34768 Change 3092267 on 2016/08/17 by Max.Chen Sequencer: Audio spatializiation components should be transient and not owned by the actor it's assigned to. #jira UE-34770 Change 3098930 on 2016/08/23 by Max.Chen Sequencer: Set skeletal meshes to always tick pose and refresh bones in the skeletal animation track instance pre update pass. #jira UE-8191 Change 3099461 on 2016/08/24 by Max.Chen Cine Camera: Add icons for cine camera actor, camera rig rail, camera rig crane. Change 3099527 on 2016/08/24 by Max.Chen Cine Camera: Force the roll and yaw of the camera crane mount to be 0. The yaw is controlled by the crane yaw control. #jira UE-34968 Change 3099739 on 2016/08/24 by Max.Chen Cine Camera: Add toggles to lock the mount pitch/yaw for the crane. By default they are not locked so the camera will stay level with the ground. #jira UE-34924 Change 3101574 on 2016/08/25 by Max.Chen Sequencer: Validate property path before creating a track. This fixes a bug where two tracks for the same property could be created since property changes could come from the actor or the component. #jira UE-29041 Change 3102253 on 2016/08/26 by Max.Chen Cine Camera: Unregister any owned spline mesh components that aren't being used for visualization. This fixes a bug where undo doesn't match the spline points. #jira UE-34607 Change 3103891 on 2016/08/27 by Max.Chen Movie Capture: Fix game mode override option so that it works in capture in editor. #jira UE-33248 Change 3104411 on 2016/08/29 by Max.Chen Sequencer: Refix attached audio component so that it's owned by the actor it's attached to but still transient. #jira UE-35239 Change 3105807 on 2016/08/30 by Max.Chen Sequencer: Restore state when stopping the level sequence player. #jira UE-35285 Change 3105988 on 2016/08/30 by Max.Chen Sequencer: Fix set key time so that it expands the section range if necessary. #jira UE-35275 Change 3107109 on 2016/08/30 by Max.Preussner MediaPlayerEditor: Added support for dragging and dropping media files into media player editor Change 3107347 on 2016/08/30 by Max.Chen Sequencer: Fix crash when key area is null. Also, improved middle mouse drag to create a key mechanism so that the operation is done in one undoable transaction. #jira UE-32410 Change 3107350 on 2016/08/30 by Max.Chen Sequencer: Add option to refresh runtime instances immediately. This fixes a bug when setting keyframes with the key editors - if the instances aren't updated immediately, the wrong/stale value will get keyed. #jira UE-35343 Change 3112245 on 2016/09/02 by Max.Preussner WmfMedia: Fixed WMV2 encoded videos are too bright (UE-35529) #jira UE-35529 Change 3112621 on 2016/09/02 by Max.Preussner Engine: Subtitle manager code & documentation cleanup pass Change 3112712 on 2016/09/02 by Max.Preussner Matinee: Fixed incorrect subtitle timing & rendering when scrubbing (Github PR# 2591 & 2762) https://github.com/EpicGames/UnrealEngine/pull/2591 https://github.com/EpicGames/UnrealEngine/pull/2762 #jira UE-35536 #jira UE-33002 Change 3113052 on 2016/09/03 by Max.Chen Cine Camera: Enable "Actor to Track" as a keyable property. #jira UE-33475 Change 3114912 on 2016/09/06 by Max.Preussner AvfMedia: Added missing supported file extensions (UE-35635) #jira UE-35635 Change 3114951 on 2016/09/06 by Max.Preussner AvfMedia: Added media source factory file extension descriptions (UE-35635) #jira UE-35635 Change 3115411 on 2016/09/07 by Max.Chen Sequencer: Fix properties not getting bound when converting from matinee to level sequence tracks. #jira UE-35107 Change 3115412 on 2016/09/07 by Max.Chen Editor: Add GEditor check - fix a crash when using sequence recorder with -game. #jira UE-35571 Change 3115413 on 2016/09/07 by Max.Chen Seqeuencer: Put the master sequence dialog's details views in a scrollbox to fix the hidden buttons. #jira UE-35508 Change 3116156 on 2016/09/07 by Max.Preussner MediaAssets: Fixed native player not being reused #jira UE-35656 Change 3116225 on 2016/09/07 by Max.Preussner MediaAssets: Hooking up caption sink in media player [CL 3117035 by Max Chen in Main branch]
2016-09-07 20:49:08 -04:00
// Fix sprite component so that it's attached to the root component. In the past, the sprite component was the root component.
UBillboardComponent* SpriteComponent = FindComponentByClass<UBillboardComponent>();
if (SpriteComponent && SpriteComponent->GetAttachParent() != RootComponent)
{
SpriteComponent->SetupAttachment(RootComponent);
}
#endif
}
#if WITH_EDITORONLY_DATA
void ALevelSequenceActor::DeclareConstructClasses(TArray<FTopLevelAssetPath>& OutConstructClasses, const UClass* SpecificSubclass)
{
Super::DeclareConstructClasses(OutConstructClasses, SpecificSubclass);
OutConstructClasses.Add(FTopLevelAssetPath(UDefaultLevelSequenceInstanceData::StaticClass()));
}
#endif
ULevelSequence* ALevelSequenceActor::GetSequence() const
{
return LevelSequenceAsset;
}
void ALevelSequenceActor::SetSequence(ULevelSequence* InSequence)
{
if (!GetSequencePlayer()->IsPlaying())
{
LevelSequenceAsset = InSequence;
// cbb: should ideally null out the template and player when no sequence is assigned, but that's currently not possible
if (InSequence)
{
GetSequencePlayer()->Initialize(InSequence, GetLevel(), CameraSettings);
}
}
}
void ALevelSequenceActor::InitializePlayer()
{
if (LevelSequenceAsset && GetWorld()->IsGameWorld())
{
// Level sequence is already loaded. Initialize the player if it's not already initialized with this sequence
if (LevelSequenceAsset != GetSequencePlayer()->GetSequence() || GetSequencePlayer()->GetEvaluationTemplate().GetRunner() == nullptr)
{
GetSequencePlayer()->Initialize(LevelSequenceAsset, GetLevel(), CameraSettings);
}
}
}
void ALevelSequenceActor::OnSequenceLoaded(const FName& PackageName, UPackage* Package, EAsyncLoadingResult::Type Result)
{
if (Result == EAsyncLoadingResult::Succeeded)
{
#if WITH_EDITORONLY_DATA
if (LevelSequence_DEPRECATED.IsValid())
{
LevelSequenceAsset = Cast<ULevelSequence>(LevelSequence_DEPRECATED.ResolveObject());
LevelSequence_DEPRECATED.Reset();
}
#endif
}
}
void ALevelSequenceActor::HideBurnin()
{
bShowBurnin = false;
RefreshBurnIn();
}
void ALevelSequenceActor::ShowBurnin()
{
bShowBurnin = true;
RefreshBurnIn();
}
void ALevelSequenceActor::RefreshBurnIn()
{
if (BurnInInstance)
{
BurnInInstance->RemoveFromParent();
BurnInInstance = nullptr;
}
if (BurnInOptions && BurnInOptions->bUseBurnIn && bShowBurnin)
{
// Create the burn-in if necessary
UClass* Class = BurnInOptions->BurnInClass.TryLoadClass<ULevelSequenceBurnIn>();
if (Class)
{
BurnInInstance = CreateWidget<ULevelSequenceBurnIn>(GetWorld(), Class);
if (BurnInInstance)
{
// Ensure we have a valid settings object if possible
BurnInOptions->ResetSettings();
BurnInInstance->SetSettings(BurnInOptions->Settings);
BurnInInstance->TakeSnapshotsFrom(*this);
BurnInInstance->AddToViewport();
}
}
}
}
void ALevelSequenceActor::SetBinding(FMovieSceneObjectBindingID Binding, const TArray<AActor*>& Actors, bool bAllowBindingsFromAsset)
{
if (!Binding.IsValid())
{
FMessageLog("PIE")
.Warning(NSLOCTEXT("LevelSequenceActor", "SetBinding_Warning", "The specified binding ID is not valid"))
->AddToken(FUObjectToken::Create(this));
}
else
{
BindingOverrides->SetBinding(Binding, TArray<UObject*>(Actors), bAllowBindingsFromAsset);
if (GetSequencePlayer())
{
FMovieSceneSequenceID SequenceID = Binding.ResolveSequenceID(MovieSceneSequenceID::Root, *GetSequencePlayer());
GetSequencePlayer()->State.Invalidate(Binding.GetGuid(), SequenceID);
}
}
}
void ALevelSequenceActor::SetBindingByTag(FName BindingTag, const TArray<AActor*>& Actors, bool bAllowBindingsFromAsset)
{
const UMovieSceneSequence* Sequence = GetSequence();
const FMovieSceneObjectBindingIDs* Bindings = Sequence ? Sequence->GetMovieScene()->AllTaggedBindings().Find(BindingTag) : nullptr;
if (Bindings)
{
Sequencer: move more IMovieScenePlayer features into playback capabilities This is the third step in the overall refactor to remove the dependency of Sequencer evaluation code on IMovieScenePlayer. It puts most of the spawnables/possessables logic into playback capabilities, so that systems concerned with them can find them there instead of depending on the player interface. In order to do this, many APIs previously taking a player pointer now take a shared playback state reference, which is where they find the playback capabilities. To keep the changelist to a manageable size, we don't deprecate the previous APIs right away except where we don't have much choice, such as the virtual methods of the spawn register. Everywhere else, passing a player is still a valid call. Some other APIs have also changed, because the shared playback state structure often gives all the information someone may ever need, and this renders many parameters obsolete. This is for instance the case with sequence updaters. One aspect of this change that needs to be carefully handled is the initialization and re-initialization of a sequence hierarchy prior to playback. Now that evaluation code relies on playback capabilities, these capabilities need to be added to the sequence hierarchy's shared playback state in a timely manner, and they need to react to changes in the hierarchy. The following changes have therefore been made: - Playback capabilities can implement callbacks for initialization and for when a new sub-sequence instance is added. - Sequence instances have a new Initialize method that needs to be called shortly after creation. This is especially needed for root instances, as it gives time for the caller to setup their playback capabilities before finishing the initialization. Another aspect of this change is that it unearthed a problem with the capability storage, where we could stomp memory and crash while relocating capabilities to make room for a new one. This happened if we did not reallocate a new buffer (i.e. relocating in place). Moving headers could stomp the space of the first couple capabilities before we had a chance to move them. The code now moves things from back to front, first the capabilities, and second the headers. Finally, this change adds the ability to overwrite a capability with a new value. This is needed for the way the level sequence player initializes itself (see the comment in the code). The following things have been made into playback capabilities, or have had a new capability interface created around them: - FMovieSceneEvaluationState, for access into object caches. - IMovieScenePlaybackClient, for dynamic binding overrides. - The player index, for retrieving the player interface, if any (mostly for legacy evaluators). - Notification callbacks for when object bindings change. - Static binding overrides. - Storage and management of sequence director blueprints. Since the player interface is now an optional playback capability, some progress has been made to gracefully handle the case of no such player existing. #jira UE-199669 #jira UE-199668 #rb Andrew.Rodham [CL 29895537 by ludovic chabant in ue5-main branch]
2023-11-22 15:18:16 -05:00
for (FMovieSceneObjectBindingID BindingID : Bindings->IDs)
{
Sequencer: move more IMovieScenePlayer features into playback capabilities This is the third step in the overall refactor to remove the dependency of Sequencer evaluation code on IMovieScenePlayer. It puts most of the spawnables/possessables logic into playback capabilities, so that systems concerned with them can find them there instead of depending on the player interface. In order to do this, many APIs previously taking a player pointer now take a shared playback state reference, which is where they find the playback capabilities. To keep the changelist to a manageable size, we don't deprecate the previous APIs right away except where we don't have much choice, such as the virtual methods of the spawn register. Everywhere else, passing a player is still a valid call. Some other APIs have also changed, because the shared playback state structure often gives all the information someone may ever need, and this renders many parameters obsolete. This is for instance the case with sequence updaters. One aspect of this change that needs to be carefully handled is the initialization and re-initialization of a sequence hierarchy prior to playback. Now that evaluation code relies on playback capabilities, these capabilities need to be added to the sequence hierarchy's shared playback state in a timely manner, and they need to react to changes in the hierarchy. The following changes have therefore been made: - Playback capabilities can implement callbacks for initialization and for when a new sub-sequence instance is added. - Sequence instances have a new Initialize method that needs to be called shortly after creation. This is especially needed for root instances, as it gives time for the caller to setup their playback capabilities before finishing the initialization. Another aspect of this change is that it unearthed a problem with the capability storage, where we could stomp memory and crash while relocating capabilities to make room for a new one. This happened if we did not reallocate a new buffer (i.e. relocating in place). Moving headers could stomp the space of the first couple capabilities before we had a chance to move them. The code now moves things from back to front, first the capabilities, and second the headers. Finally, this change adds the ability to overwrite a capability with a new value. This is needed for the way the level sequence player initializes itself (see the comment in the code). The following things have been made into playback capabilities, or have had a new capability interface created around them: - FMovieSceneEvaluationState, for access into object caches. - IMovieScenePlaybackClient, for dynamic binding overrides. - The player index, for retrieving the player interface, if any (mostly for legacy evaluators). - Notification callbacks for when object bindings change. - Static binding overrides. - Storage and management of sequence director blueprints. Since the player interface is now an optional playback capability, some progress has been made to gracefully handle the case of no such player existing. #jira UE-199669 #jira UE-199668 #rb Andrew.Rodham [CL 29895537 by ludovic chabant in ue5-main branch]
2023-11-22 15:18:16 -05:00
SetBinding(BindingID, Actors, bAllowBindingsFromAsset);
}
}
else if (LevelSequenceActorCVars::bInvalidBindingTagWarnings)
{
FMessageLog("PIE")
.Warning(FText::Format(NSLOCTEXT("LevelSequenceActor", "SetBindingByTag", "Sequence did not contain any bindings with the tag '{0}'"), FText::FromName(BindingTag)))
->AddToken(FUObjectToken::Create(this));
}
}
void ALevelSequenceActor::AddBinding(FMovieSceneObjectBindingID Binding, AActor* Actor, bool bAllowBindingsFromAsset)
{
if (!Binding.IsValid())
{
FMessageLog("PIE")
.Warning(NSLOCTEXT("LevelSequenceActor", "AddBinding_Warning", "The specified binding ID is not valid"))
->AddToken(FUObjectToken::Create(this));
}
else
{
BindingOverrides->AddBinding(Binding, Actor, bAllowBindingsFromAsset);
if (GetSequencePlayer())
{
FMovieSceneSequenceID SequenceID = Binding.ResolveSequenceID(MovieSceneSequenceID::Root, *GetSequencePlayer());
GetSequencePlayer()->State.Invalidate(Binding.GetGuid(), SequenceID);
}
}
}
void ALevelSequenceActor::AddBindingByTag(FName BindingTag, AActor* Actor, bool bAllowBindingsFromAsset)
{
const UMovieSceneSequence* Sequence = GetSequence();
const FMovieSceneObjectBindingIDs* Bindings = Sequence ? Sequence->GetMovieScene()->AllTaggedBindings().Find(BindingTag) : nullptr;
if (Bindings)
{
Sequencer: move more IMovieScenePlayer features into playback capabilities This is the third step in the overall refactor to remove the dependency of Sequencer evaluation code on IMovieScenePlayer. It puts most of the spawnables/possessables logic into playback capabilities, so that systems concerned with them can find them there instead of depending on the player interface. In order to do this, many APIs previously taking a player pointer now take a shared playback state reference, which is where they find the playback capabilities. To keep the changelist to a manageable size, we don't deprecate the previous APIs right away except where we don't have much choice, such as the virtual methods of the spawn register. Everywhere else, passing a player is still a valid call. Some other APIs have also changed, because the shared playback state structure often gives all the information someone may ever need, and this renders many parameters obsolete. This is for instance the case with sequence updaters. One aspect of this change that needs to be carefully handled is the initialization and re-initialization of a sequence hierarchy prior to playback. Now that evaluation code relies on playback capabilities, these capabilities need to be added to the sequence hierarchy's shared playback state in a timely manner, and they need to react to changes in the hierarchy. The following changes have therefore been made: - Playback capabilities can implement callbacks for initialization and for when a new sub-sequence instance is added. - Sequence instances have a new Initialize method that needs to be called shortly after creation. This is especially needed for root instances, as it gives time for the caller to setup their playback capabilities before finishing the initialization. Another aspect of this change is that it unearthed a problem with the capability storage, where we could stomp memory and crash while relocating capabilities to make room for a new one. This happened if we did not reallocate a new buffer (i.e. relocating in place). Moving headers could stomp the space of the first couple capabilities before we had a chance to move them. The code now moves things from back to front, first the capabilities, and second the headers. Finally, this change adds the ability to overwrite a capability with a new value. This is needed for the way the level sequence player initializes itself (see the comment in the code). The following things have been made into playback capabilities, or have had a new capability interface created around them: - FMovieSceneEvaluationState, for access into object caches. - IMovieScenePlaybackClient, for dynamic binding overrides. - The player index, for retrieving the player interface, if any (mostly for legacy evaluators). - Notification callbacks for when object bindings change. - Static binding overrides. - Storage and management of sequence director blueprints. Since the player interface is now an optional playback capability, some progress has been made to gracefully handle the case of no such player existing. #jira UE-199669 #jira UE-199668 #rb Andrew.Rodham [CL 29895537 by ludovic chabant in ue5-main branch]
2023-11-22 15:18:16 -05:00
for (FMovieSceneObjectBindingID BindingID : Bindings->IDs)
{
Sequencer: move more IMovieScenePlayer features into playback capabilities This is the third step in the overall refactor to remove the dependency of Sequencer evaluation code on IMovieScenePlayer. It puts most of the spawnables/possessables logic into playback capabilities, so that systems concerned with them can find them there instead of depending on the player interface. In order to do this, many APIs previously taking a player pointer now take a shared playback state reference, which is where they find the playback capabilities. To keep the changelist to a manageable size, we don't deprecate the previous APIs right away except where we don't have much choice, such as the virtual methods of the spawn register. Everywhere else, passing a player is still a valid call. Some other APIs have also changed, because the shared playback state structure often gives all the information someone may ever need, and this renders many parameters obsolete. This is for instance the case with sequence updaters. One aspect of this change that needs to be carefully handled is the initialization and re-initialization of a sequence hierarchy prior to playback. Now that evaluation code relies on playback capabilities, these capabilities need to be added to the sequence hierarchy's shared playback state in a timely manner, and they need to react to changes in the hierarchy. The following changes have therefore been made: - Playback capabilities can implement callbacks for initialization and for when a new sub-sequence instance is added. - Sequence instances have a new Initialize method that needs to be called shortly after creation. This is especially needed for root instances, as it gives time for the caller to setup their playback capabilities before finishing the initialization. Another aspect of this change is that it unearthed a problem with the capability storage, where we could stomp memory and crash while relocating capabilities to make room for a new one. This happened if we did not reallocate a new buffer (i.e. relocating in place). Moving headers could stomp the space of the first couple capabilities before we had a chance to move them. The code now moves things from back to front, first the capabilities, and second the headers. Finally, this change adds the ability to overwrite a capability with a new value. This is needed for the way the level sequence player initializes itself (see the comment in the code). The following things have been made into playback capabilities, or have had a new capability interface created around them: - FMovieSceneEvaluationState, for access into object caches. - IMovieScenePlaybackClient, for dynamic binding overrides. - The player index, for retrieving the player interface, if any (mostly for legacy evaluators). - Notification callbacks for when object bindings change. - Static binding overrides. - Storage and management of sequence director blueprints. Since the player interface is now an optional playback capability, some progress has been made to gracefully handle the case of no such player existing. #jira UE-199669 #jira UE-199668 #rb Andrew.Rodham [CL 29895537 by ludovic chabant in ue5-main branch]
2023-11-22 15:18:16 -05:00
AddBinding(BindingID, Actor, bAllowBindingsFromAsset);
}
}
else if (LevelSequenceActorCVars::bInvalidBindingTagWarnings)
{
FMessageLog("PIE")
.Warning(FText::Format(NSLOCTEXT("LevelSequenceActor", "AddBindingByTag", "Sequence did not contain any bindings with the tag '{0}'"), FText::FromName(BindingTag)))
->AddToken(FUObjectToken::Create(this));
}
}
void ALevelSequenceActor::RemoveBinding(FMovieSceneObjectBindingID Binding, AActor* Actor)
{
if (!Binding.IsValid())
{
FMessageLog("PIE")
.Warning(NSLOCTEXT("LevelSequenceActor", "RemoveBinding_Warning", "The specified binding ID is not valid"))
->AddToken(FUObjectToken::Create(this));
}
else
{
BindingOverrides->RemoveBinding(Binding, Actor);
if (GetSequencePlayer())
{
FMovieSceneSequenceID SequenceID = Binding.ResolveSequenceID(MovieSceneSequenceID::Root, *GetSequencePlayer());
GetSequencePlayer()->State.Invalidate(Binding.GetGuid(), SequenceID);
}
}
}
void ALevelSequenceActor::RemoveBindingByTag(FName BindingTag, AActor* Actor)
{
const UMovieSceneSequence* Sequence = GetSequence();
const FMovieSceneObjectBindingIDs* Bindings = Sequence ? Sequence->GetMovieScene()->AllTaggedBindings().Find(BindingTag) : nullptr;
if (Bindings)
{
Sequencer: move more IMovieScenePlayer features into playback capabilities This is the third step in the overall refactor to remove the dependency of Sequencer evaluation code on IMovieScenePlayer. It puts most of the spawnables/possessables logic into playback capabilities, so that systems concerned with them can find them there instead of depending on the player interface. In order to do this, many APIs previously taking a player pointer now take a shared playback state reference, which is where they find the playback capabilities. To keep the changelist to a manageable size, we don't deprecate the previous APIs right away except where we don't have much choice, such as the virtual methods of the spawn register. Everywhere else, passing a player is still a valid call. Some other APIs have also changed, because the shared playback state structure often gives all the information someone may ever need, and this renders many parameters obsolete. This is for instance the case with sequence updaters. One aspect of this change that needs to be carefully handled is the initialization and re-initialization of a sequence hierarchy prior to playback. Now that evaluation code relies on playback capabilities, these capabilities need to be added to the sequence hierarchy's shared playback state in a timely manner, and they need to react to changes in the hierarchy. The following changes have therefore been made: - Playback capabilities can implement callbacks for initialization and for when a new sub-sequence instance is added. - Sequence instances have a new Initialize method that needs to be called shortly after creation. This is especially needed for root instances, as it gives time for the caller to setup their playback capabilities before finishing the initialization. Another aspect of this change is that it unearthed a problem with the capability storage, where we could stomp memory and crash while relocating capabilities to make room for a new one. This happened if we did not reallocate a new buffer (i.e. relocating in place). Moving headers could stomp the space of the first couple capabilities before we had a chance to move them. The code now moves things from back to front, first the capabilities, and second the headers. Finally, this change adds the ability to overwrite a capability with a new value. This is needed for the way the level sequence player initializes itself (see the comment in the code). The following things have been made into playback capabilities, or have had a new capability interface created around them: - FMovieSceneEvaluationState, for access into object caches. - IMovieScenePlaybackClient, for dynamic binding overrides. - The player index, for retrieving the player interface, if any (mostly for legacy evaluators). - Notification callbacks for when object bindings change. - Static binding overrides. - Storage and management of sequence director blueprints. Since the player interface is now an optional playback capability, some progress has been made to gracefully handle the case of no such player existing. #jira UE-199669 #jira UE-199668 #rb Andrew.Rodham [CL 29895537 by ludovic chabant in ue5-main branch]
2023-11-22 15:18:16 -05:00
for (FMovieSceneObjectBindingID BindingID : Bindings->IDs)
{
Sequencer: move more IMovieScenePlayer features into playback capabilities This is the third step in the overall refactor to remove the dependency of Sequencer evaluation code on IMovieScenePlayer. It puts most of the spawnables/possessables logic into playback capabilities, so that systems concerned with them can find them there instead of depending on the player interface. In order to do this, many APIs previously taking a player pointer now take a shared playback state reference, which is where they find the playback capabilities. To keep the changelist to a manageable size, we don't deprecate the previous APIs right away except where we don't have much choice, such as the virtual methods of the spawn register. Everywhere else, passing a player is still a valid call. Some other APIs have also changed, because the shared playback state structure often gives all the information someone may ever need, and this renders many parameters obsolete. This is for instance the case with sequence updaters. One aspect of this change that needs to be carefully handled is the initialization and re-initialization of a sequence hierarchy prior to playback. Now that evaluation code relies on playback capabilities, these capabilities need to be added to the sequence hierarchy's shared playback state in a timely manner, and they need to react to changes in the hierarchy. The following changes have therefore been made: - Playback capabilities can implement callbacks for initialization and for when a new sub-sequence instance is added. - Sequence instances have a new Initialize method that needs to be called shortly after creation. This is especially needed for root instances, as it gives time for the caller to setup their playback capabilities before finishing the initialization. Another aspect of this change is that it unearthed a problem with the capability storage, where we could stomp memory and crash while relocating capabilities to make room for a new one. This happened if we did not reallocate a new buffer (i.e. relocating in place). Moving headers could stomp the space of the first couple capabilities before we had a chance to move them. The code now moves things from back to front, first the capabilities, and second the headers. Finally, this change adds the ability to overwrite a capability with a new value. This is needed for the way the level sequence player initializes itself (see the comment in the code). The following things have been made into playback capabilities, or have had a new capability interface created around them: - FMovieSceneEvaluationState, for access into object caches. - IMovieScenePlaybackClient, for dynamic binding overrides. - The player index, for retrieving the player interface, if any (mostly for legacy evaluators). - Notification callbacks for when object bindings change. - Static binding overrides. - Storage and management of sequence director blueprints. Since the player interface is now an optional playback capability, some progress has been made to gracefully handle the case of no such player existing. #jira UE-199669 #jira UE-199668 #rb Andrew.Rodham [CL 29895537 by ludovic chabant in ue5-main branch]
2023-11-22 15:18:16 -05:00
RemoveBinding(BindingID, Actor);
}
}
else if (LevelSequenceActorCVars::bInvalidBindingTagWarnings)
{
FMessageLog("PIE")
.Warning(FText::Format(NSLOCTEXT("LevelSequenceActor", "RemoveBindingByTag", "Sequence did not contain any bindings with the tag '{0}'"), FText::FromName(BindingTag)))
->AddToken(FUObjectToken::Create(this));
}
}
void ALevelSequenceActor::ResetBinding(FMovieSceneObjectBindingID Binding)
{
if (!Binding.IsValid())
{
FMessageLog("PIE")
.Warning(NSLOCTEXT("LevelSequenceActor", "ResetBinding_Warning", "The specified binding ID is not valid"))
->AddToken(FUObjectToken::Create(this));
}
else
{
BindingOverrides->ResetBinding(Binding);
if (GetSequencePlayer())
{
FMovieSceneSequenceID SequenceID = Binding.ResolveSequenceID(MovieSceneSequenceID::Root, *GetSequencePlayer());
GetSequencePlayer()->State.Invalidate(Binding.GetGuid(), SequenceID);
}
}
}
void ALevelSequenceActor::ResetBindings()
{
BindingOverrides->ResetBindings();
if (GetSequencePlayer())
{
GetSequencePlayer()->State.ClearObjectCaches(*GetSequencePlayer());
}
}
FMovieSceneObjectBindingID ALevelSequenceActor::FindNamedBinding(FName InBindingName) const
{
if (ensureAlways(GetSequencePlayer()))
{
return GetSequencePlayer()->GetSequence()->FindBindingByTag(InBindingName);
}
return FMovieSceneObjectBindingID();
}
const TArray<FMovieSceneObjectBindingID>& ALevelSequenceActor::FindNamedBindings(FName InBindingName) const
{
if (ensureAlways(GetSequencePlayer()))
{
return GetSequencePlayer()->GetSequence()->FindBindingsByTag(InBindingName);
}
static TArray<FMovieSceneObjectBindingID> EmptyBindings;
return EmptyBindings;
}
void ALevelSequenceActor::PostNetReceive()
{
Super::PostNetReceive();
InitializePlayer();
}
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
#if WITH_EDITOR
void FBoundActorProxy::Initialize(TSharedPtr<IPropertyHandle> InPropertyHandle)
{
ReflectedProperty = InPropertyHandle;
UObject* Object = nullptr;
ReflectedProperty->GetValue(Object);
BoundActor = Cast<AActor>(Object);
ReflectedProperty->SetOnPropertyValueChanged(FSimpleDelegate::CreateRaw(this, &FBoundActorProxy::OnReflectedPropertyChanged));
}
void FBoundActorProxy::OnReflectedPropertyChanged()
{
UObject* Object = nullptr;
ReflectedProperty->GetValue(Object);
BoundActor = Cast<AActor>(Object);
}
TSharedPtr<FStructOnScope> ALevelSequenceActor::GetObjectPickerProxy(TSharedPtr<IPropertyHandle> ObjectPropertyHandle)
{
TSharedRef<FStructOnScope> Struct = MakeShared<FStructOnScope>(FBoundActorProxy::StaticStruct());
reinterpret_cast<FBoundActorProxy*>(Struct->GetStructMemory())->Initialize(ObjectPropertyHandle);
return Struct;
}
void ALevelSequenceActor::UpdateObjectFromProxy(FStructOnScope& Proxy, IPropertyHandle& ObjectPropertyHandle)
{
UObject* BoundActor = reinterpret_cast<FBoundActorProxy*>(Proxy.GetStructMemory())->BoundActor;
ObjectPropertyHandle.SetValue(BoundActor);
}
UMovieSceneSequence* ALevelSequenceActor::RetrieveOwnedSequence() const
{
return GetSequence();
}
bool ALevelSequenceActor::GetReferencedContentObjects(TArray<UObject*>& Objects) const
{
if (LevelSequenceAsset)
{
Objects.Add(LevelSequenceAsset);
}
Super::GetReferencedContentObjects(Objects);
return true;
}
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
#endif
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3057646) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2840895 on 2016/01/23 by Max.Chen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2937981 on 2016/04/08 by Max.Chen Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 3051834 on 2016/07/15 by Max.Chen Sequencer: Adjust tooltips for autokeying and key all to be more descriptive. #jira UE-33081 Change 3053057 on 2016/07/17 by Max.Chen Sequencer: String track editor #jira UE-32141 Change 3053083 on 2016/07/18 by Max.Chen Sequence Recorder: Add an option to maximize the viewport when starting recording. Change 3053084 on 2016/07/18 by Max.Chen Added UnmapAction to FUICommandList Sequencer uses this to re-hook into the level editor commands without issue when it re-opens. Change 3053085 on 2016/07/18 by Max.Chen Sequence Recorder: Display name of next sequence in sequence recorder Also display on-screen during countdown Change 3053086 on 2016/07/18 by Max.Chen Sequence Recorder: Improved recording indicator icon, text & timer Also fixed a bug with record/stop button where they would not show/enable correctly if no animations were being recorded for a sequence. Change 3053089 on 2016/07/18 by Max.Chen Sequencer: Added hotkey for recording selected actors Alt+R now records selected actor into sequencer. Change 3055488 on 2016/07/19 by Max.Chen Sequencer: Fixed NotifyCameraCut() being erroneously called every frame (in FSequencer), and not being called at all in ULevelSequencePlayer Change 3056783 on 2016/07/19 by Max.Preussner PS4Media: Attempting to fix playlist advance on PS4 (UE-33481) #jira UE-33481 [CL 3057666 by Max Chen in Main branch]
2016-07-20 10:38:29 -04:00
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
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3003857) ========================== MAJOR FEATURES + CHANGES ========================== Change 2945755 on 2016/04/15 by Frank.Fella 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. Change 2947197 on 2016/04/18 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 2948468 on 2016/04/19 by Max.Chen Sequencer: Fix particles not firing on loop. #jira UE-27881 Change 2948590 on 2016/04/19 by Max.Chen Sequencer: Fix spawnables not getting default tracks. #jira UE-29644 Change 2955993 on 2016/04/26 by Max.Chen Sequencer: Refresh instances when done recording. This fixes a bug where spawned recorded actors aren't visible when done recording. #jira UE-29841 Change 2958567 on 2016/04/27 by Max.Preussner RHI: Made SetReferencedTexture public, so that the referenced texture can be set Change 2958718 on 2016/04/28 by Max.Chen Sequencer: Folder colors. Right click on a folder and choose "Set Color" #jira UE-28669 Change 2960172 on 2016/04/28 by Max.Preussner Slate: Slate Remote Server (for the iOS touch input app) is now disabled by default, so we don't open up the socket unless desired by the user Change 2960411 on 2016/04/28 by Max.Chen Sequencer: Don't remove label if it's not being used. #jira UE-24283 Change 2960414 on 2016/04/28 by Max.Chen Matinee: Don't automatically turn frustums on/off when entering and exiting Matinee. #jira UE-1020 Change 2962784 on 2016/05/02 by Max.Chen Sequencer: Add master sequence #jira UE-29799 Change 2964399 on 2016/05/03 by Andrew.Rodham Sequencer: Added ability to apply cook-time optimization to tracks and objects - For now, if a spawnable has a spawn track that is disabled, or will never spawn, the entire spawnable object will be removed from a cooked package. - Possessables also afford the same optimization, although none is currently implemented - We could, in future, also remove any tracks that are completely disabled - Deprecated UMovieSceneBoolSection::DefaultValue in favor of the default stored on FIntegralCurve Change 2967549 on 2016/05/05 by Max.Chen Sequencer: Fix crash converting possessable to spawnable when the possessable doesn't exist. #jira UE-30360 Change 2967670 on 2016/05/05 by Max.Chen Sequencer: Set ui min/max for sequencer settings #jira UE-30344 Change 2978969 on 2016/05/16 by Max.Chen Sequencer: Restore state when focusing on a shot level sequence. This fixes issues where tracks in the movie scene that are active before switching to the new movie scene need to return to their initial state. For example, setting a fade track in the master sequence and switching into a shot should disable the effects of the fade track in the master sequence. #jira UE-30798 Change 2983237 on 2016/05/19 by Andrew.Rodham Protocol settings for movie captures are now set up correctly when a capture type is specified on the command line Thanks to original github author, yuhe00 #pr #2257 Change 2991115 on 2016/05/26 by Andrew.Rodham Sequencer: Added {shot} and {shot_frame} format args for movie captures - Additionally, rendering out movie scenes as videos will now generate a new video for each unique filename it encounters. This allows us to render out a video per shot by using {shot} as the output format. - Frame numbers are now zero-padded as per the sequencer setting. Change 2991920 on 2016/05/26 by Max.Chen Sequencer: Fix movie scene getting dirtied unnecessarily when the fixed frame interval changes. #jira UE-31343 Change 2992387 on 2016/05/26 by Max.Chen Sequencer: Fix crash when getting the color key properties of a collapsed key that doesn't have all channels keyed. #jira UE-31392 Change 2993553 on 2016/05/27 by Andrew.Rodham Sequencer: Added the ability to add burn-ins to level sequences - A default burn-in is provided which hosts a great level of flexibility - 6 regions (L/C/R + T/B) on a 30% black border allow positioning of a range of frame statistics such as shot name ({ShotName}), frame numbers ({MasterFrame}, {ShotFrame}), and other information. - Watermark is provided by default (currently no tiling is exposed) - Users can use the default built in UMG widget as a guideline for their own custom implementations. Change 2993554 on 2016/05/27 by Andrew.Rodham Sequencer: Default level sequence burn ins - Also made a font asset out of our fixed width font shipped with the engine Change 2993856 on 2016/05/30 by Max.Chen Sequencer: Import/Export EDL - Added a new option in the render movie dialog to export an Edit Decision List (EDL) in cmx and rv formats if there is a shot track. The default is true. - Added "Import EDL" to shot track right click menu which imports a cmx EDL and conforms the shot order and cut information to it. - Added "Export EDL" to shot track right click menu which exports EDLs in cmx and rv formats. - Added "Render Shot" to shot right click menu which loads up the render movie dialog with the start and end frames of the selected shot. #jira UETOOL-829, UETOOL-830 Change 2994761 on 2016/05/31 by Max.Chen Sequence Recorder: Add a setting to allow recording of actors that are spawned by sequencer itself. Change 2995648 on 2016/06/01 by HaarmPieter.Duiker Sequencer EXR output gamut controls Change 2996241 on 2016/06/01 by Frank.Fella Sequencer - Add a small epsilon when "force fixed frame interval" is enabled, to make sure we're in the start of the next frame. Change 2996244 on 2016/06/01 by Frank.Fella Sequencer - Set the tick prerequisite for all components, not just the root. Change 2997865 on 2016/06/02 by Max.Preussner Sequencer: Fixed Crash in Sequencer play rate track when setting negative play rate (UE-31431) #jira UE-31431 Change 2999631 on 2016/06/03 by Frank.Fella Sequencer - At runtime, make sure to stop playing skeletal animations to prevent them from being double updated each frame, once by sequencer, and then again by tick. Change 3000820 on 2016/06/03 by Max.Chen Sequencer: Add hotkey (ctrl-T) to toggle between showing frame numbers and time. #jira UE-31497 Change 3001056 on 2016/06/05 by Max.Chen Sequencer: Fix fade color section crash by using an inline color picker in the details panel instead of a popup color picker. #jira UE-31647 Change 3001057 on 2016/06/05 by Max.Chen Movie Capture: Fix audio getting disabled after recording a movie. Change 3001690 on 2016/06/06 by Andrew.Rodham Sequencer: Fixed recording video sequences when not overwriting existing videos Change 3001823 on 2016/06/06 by Max.Chen Sequencer: Fix filtered nodes in folders so that other unfiltered children aren't visible. #jira UE-31499 #lockdown Nick.Penwarden [CL 3003974 by Max Chen in Main branch]
2016-06-07 11:03:52 -04:00
ULevelSequenceBurnInOptions::ULevelSequenceBurnInOptions(const FObjectInitializer& Init)
: Super(Init)
, bUseBurnIn(false)
, BurnInClass(TEXT("/Engine/Sequencer/DefaultBurnIn.DefaultBurnIn_C"))
, Settings(nullptr)
{
}
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
void ULevelSequenceBurnInOptions::SetBurnIn(FSoftClassPath InBurnInClass)
{
BurnInClass = InBurnInClass;
// Attempt to load the settings class from the BurnIn class and assign it to our local Settings object.
ResetSettings();
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3003857) ========================== MAJOR FEATURES + CHANGES ========================== Change 2945755 on 2016/04/15 by Frank.Fella 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. Change 2947197 on 2016/04/18 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 2948468 on 2016/04/19 by Max.Chen Sequencer: Fix particles not firing on loop. #jira UE-27881 Change 2948590 on 2016/04/19 by Max.Chen Sequencer: Fix spawnables not getting default tracks. #jira UE-29644 Change 2955993 on 2016/04/26 by Max.Chen Sequencer: Refresh instances when done recording. This fixes a bug where spawned recorded actors aren't visible when done recording. #jira UE-29841 Change 2958567 on 2016/04/27 by Max.Preussner RHI: Made SetReferencedTexture public, so that the referenced texture can be set Change 2958718 on 2016/04/28 by Max.Chen Sequencer: Folder colors. Right click on a folder and choose "Set Color" #jira UE-28669 Change 2960172 on 2016/04/28 by Max.Preussner Slate: Slate Remote Server (for the iOS touch input app) is now disabled by default, so we don't open up the socket unless desired by the user Change 2960411 on 2016/04/28 by Max.Chen Sequencer: Don't remove label if it's not being used. #jira UE-24283 Change 2960414 on 2016/04/28 by Max.Chen Matinee: Don't automatically turn frustums on/off when entering and exiting Matinee. #jira UE-1020 Change 2962784 on 2016/05/02 by Max.Chen Sequencer: Add master sequence #jira UE-29799 Change 2964399 on 2016/05/03 by Andrew.Rodham Sequencer: Added ability to apply cook-time optimization to tracks and objects - For now, if a spawnable has a spawn track that is disabled, or will never spawn, the entire spawnable object will be removed from a cooked package. - Possessables also afford the same optimization, although none is currently implemented - We could, in future, also remove any tracks that are completely disabled - Deprecated UMovieSceneBoolSection::DefaultValue in favor of the default stored on FIntegralCurve Change 2967549 on 2016/05/05 by Max.Chen Sequencer: Fix crash converting possessable to spawnable when the possessable doesn't exist. #jira UE-30360 Change 2967670 on 2016/05/05 by Max.Chen Sequencer: Set ui min/max for sequencer settings #jira UE-30344 Change 2978969 on 2016/05/16 by Max.Chen Sequencer: Restore state when focusing on a shot level sequence. This fixes issues where tracks in the movie scene that are active before switching to the new movie scene need to return to their initial state. For example, setting a fade track in the master sequence and switching into a shot should disable the effects of the fade track in the master sequence. #jira UE-30798 Change 2983237 on 2016/05/19 by Andrew.Rodham Protocol settings for movie captures are now set up correctly when a capture type is specified on the command line Thanks to original github author, yuhe00 #pr #2257 Change 2991115 on 2016/05/26 by Andrew.Rodham Sequencer: Added {shot} and {shot_frame} format args for movie captures - Additionally, rendering out movie scenes as videos will now generate a new video for each unique filename it encounters. This allows us to render out a video per shot by using {shot} as the output format. - Frame numbers are now zero-padded as per the sequencer setting. Change 2991920 on 2016/05/26 by Max.Chen Sequencer: Fix movie scene getting dirtied unnecessarily when the fixed frame interval changes. #jira UE-31343 Change 2992387 on 2016/05/26 by Max.Chen Sequencer: Fix crash when getting the color key properties of a collapsed key that doesn't have all channels keyed. #jira UE-31392 Change 2993553 on 2016/05/27 by Andrew.Rodham Sequencer: Added the ability to add burn-ins to level sequences - A default burn-in is provided which hosts a great level of flexibility - 6 regions (L/C/R + T/B) on a 30% black border allow positioning of a range of frame statistics such as shot name ({ShotName}), frame numbers ({MasterFrame}, {ShotFrame}), and other information. - Watermark is provided by default (currently no tiling is exposed) - Users can use the default built in UMG widget as a guideline for their own custom implementations. Change 2993554 on 2016/05/27 by Andrew.Rodham Sequencer: Default level sequence burn ins - Also made a font asset out of our fixed width font shipped with the engine Change 2993856 on 2016/05/30 by Max.Chen Sequencer: Import/Export EDL - Added a new option in the render movie dialog to export an Edit Decision List (EDL) in cmx and rv formats if there is a shot track. The default is true. - Added "Import EDL" to shot track right click menu which imports a cmx EDL and conforms the shot order and cut information to it. - Added "Export EDL" to shot track right click menu which exports EDLs in cmx and rv formats. - Added "Render Shot" to shot right click menu which loads up the render movie dialog with the start and end frames of the selected shot. #jira UETOOL-829, UETOOL-830 Change 2994761 on 2016/05/31 by Max.Chen Sequence Recorder: Add a setting to allow recording of actors that are spawned by sequencer itself. Change 2995648 on 2016/06/01 by HaarmPieter.Duiker Sequencer EXR output gamut controls Change 2996241 on 2016/06/01 by Frank.Fella Sequencer - Add a small epsilon when "force fixed frame interval" is enabled, to make sure we're in the start of the next frame. Change 2996244 on 2016/06/01 by Frank.Fella Sequencer - Set the tick prerequisite for all components, not just the root. Change 2997865 on 2016/06/02 by Max.Preussner Sequencer: Fixed Crash in Sequencer play rate track when setting negative play rate (UE-31431) #jira UE-31431 Change 2999631 on 2016/06/03 by Frank.Fella Sequencer - At runtime, make sure to stop playing skeletal animations to prevent them from being double updated each frame, once by sequencer, and then again by tick. Change 3000820 on 2016/06/03 by Max.Chen Sequencer: Add hotkey (ctrl-T) to toggle between showing frame numbers and time. #jira UE-31497 Change 3001056 on 2016/06/05 by Max.Chen Sequencer: Fix fade color section crash by using an inline color picker in the details panel instead of a popup color picker. #jira UE-31647 Change 3001057 on 2016/06/05 by Max.Chen Movie Capture: Fix audio getting disabled after recording a movie. Change 3001690 on 2016/06/06 by Andrew.Rodham Sequencer: Fixed recording video sequences when not overwriting existing videos Change 3001823 on 2016/06/06 by Max.Chen Sequencer: Fix filtered nodes in folders so that other unfiltered children aren't visible. #jira UE-31499 #lockdown Nick.Penwarden [CL 3003974 by Max Chen in Main branch]
2016-06-07 11:03:52 -04:00
void ULevelSequenceBurnInOptions::ResetSettings()
{
UClass* Class = BurnInClass.TryLoadClass<ULevelSequenceBurnIn>();
if (Class)
{
TSubclassOf<ULevelSequenceBurnInInitSettings> SettingsClass = Cast<ULevelSequenceBurnIn>(Class->GetDefaultObject())->GetSettingsClass();
if (SettingsClass)
{
if (!Settings || !Settings->IsA(SettingsClass))
{
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
if (Settings)
{
Settings->Rename(*MakeUniqueObjectName(this, ULevelSequenceBurnInInitSettings::StaticClass(), "Settings_EXPIRED").ToString());
}
Settings = NewObject<ULevelSequenceBurnInInitSettings>(this, SettingsClass, "Settings");
Settings->SetFlags(GetMaskedFlags(RF_PropagateToSubObjects));
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3003857) ========================== MAJOR FEATURES + CHANGES ========================== Change 2945755 on 2016/04/15 by Frank.Fella 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. Change 2947197 on 2016/04/18 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 2948468 on 2016/04/19 by Max.Chen Sequencer: Fix particles not firing on loop. #jira UE-27881 Change 2948590 on 2016/04/19 by Max.Chen Sequencer: Fix spawnables not getting default tracks. #jira UE-29644 Change 2955993 on 2016/04/26 by Max.Chen Sequencer: Refresh instances when done recording. This fixes a bug where spawned recorded actors aren't visible when done recording. #jira UE-29841 Change 2958567 on 2016/04/27 by Max.Preussner RHI: Made SetReferencedTexture public, so that the referenced texture can be set Change 2958718 on 2016/04/28 by Max.Chen Sequencer: Folder colors. Right click on a folder and choose "Set Color" #jira UE-28669 Change 2960172 on 2016/04/28 by Max.Preussner Slate: Slate Remote Server (for the iOS touch input app) is now disabled by default, so we don't open up the socket unless desired by the user Change 2960411 on 2016/04/28 by Max.Chen Sequencer: Don't remove label if it's not being used. #jira UE-24283 Change 2960414 on 2016/04/28 by Max.Chen Matinee: Don't automatically turn frustums on/off when entering and exiting Matinee. #jira UE-1020 Change 2962784 on 2016/05/02 by Max.Chen Sequencer: Add master sequence #jira UE-29799 Change 2964399 on 2016/05/03 by Andrew.Rodham Sequencer: Added ability to apply cook-time optimization to tracks and objects - For now, if a spawnable has a spawn track that is disabled, or will never spawn, the entire spawnable object will be removed from a cooked package. - Possessables also afford the same optimization, although none is currently implemented - We could, in future, also remove any tracks that are completely disabled - Deprecated UMovieSceneBoolSection::DefaultValue in favor of the default stored on FIntegralCurve Change 2967549 on 2016/05/05 by Max.Chen Sequencer: Fix crash converting possessable to spawnable when the possessable doesn't exist. #jira UE-30360 Change 2967670 on 2016/05/05 by Max.Chen Sequencer: Set ui min/max for sequencer settings #jira UE-30344 Change 2978969 on 2016/05/16 by Max.Chen Sequencer: Restore state when focusing on a shot level sequence. This fixes issues where tracks in the movie scene that are active before switching to the new movie scene need to return to their initial state. For example, setting a fade track in the master sequence and switching into a shot should disable the effects of the fade track in the master sequence. #jira UE-30798 Change 2983237 on 2016/05/19 by Andrew.Rodham Protocol settings for movie captures are now set up correctly when a capture type is specified on the command line Thanks to original github author, yuhe00 #pr #2257 Change 2991115 on 2016/05/26 by Andrew.Rodham Sequencer: Added {shot} and {shot_frame} format args for movie captures - Additionally, rendering out movie scenes as videos will now generate a new video for each unique filename it encounters. This allows us to render out a video per shot by using {shot} as the output format. - Frame numbers are now zero-padded as per the sequencer setting. Change 2991920 on 2016/05/26 by Max.Chen Sequencer: Fix movie scene getting dirtied unnecessarily when the fixed frame interval changes. #jira UE-31343 Change 2992387 on 2016/05/26 by Max.Chen Sequencer: Fix crash when getting the color key properties of a collapsed key that doesn't have all channels keyed. #jira UE-31392 Change 2993553 on 2016/05/27 by Andrew.Rodham Sequencer: Added the ability to add burn-ins to level sequences - A default burn-in is provided which hosts a great level of flexibility - 6 regions (L/C/R + T/B) on a 30% black border allow positioning of a range of frame statistics such as shot name ({ShotName}), frame numbers ({MasterFrame}, {ShotFrame}), and other information. - Watermark is provided by default (currently no tiling is exposed) - Users can use the default built in UMG widget as a guideline for their own custom implementations. Change 2993554 on 2016/05/27 by Andrew.Rodham Sequencer: Default level sequence burn ins - Also made a font asset out of our fixed width font shipped with the engine Change 2993856 on 2016/05/30 by Max.Chen Sequencer: Import/Export EDL - Added a new option in the render movie dialog to export an Edit Decision List (EDL) in cmx and rv formats if there is a shot track. The default is true. - Added "Import EDL" to shot track right click menu which imports a cmx EDL and conforms the shot order and cut information to it. - Added "Export EDL" to shot track right click menu which exports EDLs in cmx and rv formats. - Added "Render Shot" to shot right click menu which loads up the render movie dialog with the start and end frames of the selected shot. #jira UETOOL-829, UETOOL-830 Change 2994761 on 2016/05/31 by Max.Chen Sequence Recorder: Add a setting to allow recording of actors that are spawned by sequencer itself. Change 2995648 on 2016/06/01 by HaarmPieter.Duiker Sequencer EXR output gamut controls Change 2996241 on 2016/06/01 by Frank.Fella Sequencer - Add a small epsilon when "force fixed frame interval" is enabled, to make sure we're in the start of the next frame. Change 2996244 on 2016/06/01 by Frank.Fella Sequencer - Set the tick prerequisite for all components, not just the root. Change 2997865 on 2016/06/02 by Max.Preussner Sequencer: Fixed Crash in Sequencer play rate track when setting negative play rate (UE-31431) #jira UE-31431 Change 2999631 on 2016/06/03 by Frank.Fella Sequencer - At runtime, make sure to stop playing skeletal animations to prevent them from being double updated each frame, once by sequencer, and then again by tick. Change 3000820 on 2016/06/03 by Max.Chen Sequencer: Add hotkey (ctrl-T) to toggle between showing frame numbers and time. #jira UE-31497 Change 3001056 on 2016/06/05 by Max.Chen Sequencer: Fix fade color section crash by using an inline color picker in the details panel instead of a popup color picker. #jira UE-31647 Change 3001057 on 2016/06/05 by Max.Chen Movie Capture: Fix audio getting disabled after recording a movie. Change 3001690 on 2016/06/06 by Andrew.Rodham Sequencer: Fixed recording video sequences when not overwriting existing videos Change 3001823 on 2016/06/06 by Max.Chen Sequencer: Fix filtered nodes in folders so that other unfiltered children aren't visible. #jira UE-31499 #lockdown Nick.Penwarden [CL 3003974 by Max Chen in Main branch]
2016-06-07 11:03:52 -04:00
}
}
else
{
Settings = nullptr;
}
}
else
{
Settings = nullptr;
}
}
#if WITH_EDITOR
void ULevelSequenceBurnInOptions::PostEditChangeProperty( FPropertyChangedEvent& PropertyChangedEvent)
{
FName PropertyName = (PropertyChangedEvent.Property != nullptr) ? PropertyChangedEvent.Property->GetFName() : NAME_None;
if (PropertyName == GET_MEMBER_NAME_CHECKED(ULevelSequenceBurnInOptions, bUseBurnIn) || PropertyName == GET_MEMBER_NAME_CHECKED(ULevelSequenceBurnInOptions, BurnInClass))
{
ResetSettings();
}
Super::PostEditChangeProperty(PropertyChangedEvent);
}
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
#endif // WITH_EDITOR
AReplicatedLevelSequenceActor::AReplicatedLevelSequenceActor(const FObjectInitializer& Init)
: Super(Init)
{
bAlwaysRelevant = true;
}