Commit Graph

12 Commits

Author SHA1 Message Date
Max Chen
0167d4ea0f Sequencer: MVVM2 branch and Layer Bars
Copying //Tasks/UE5/Dev-SequencerMVVM2 to Main (//UE5/Main) @20364093

#preflight 628866dfb94f739b152c1e29
#preflight 628866e4585e8f793ee80943
#rb ludovic.chabant, andrew.rodham
#fyi ludovic.chabant, andrew.rodham, andrew.porter
#jira UE-105322

[CL 20364493 by Max Chen in ue5-main branch]
2022-05-25 10:39:33 -04:00
brooke hubert
7655a7b154 Use slate common FOnDrop delegate in SDropTarget and deprecate the one off delegate version.
#Jira none
#review-16522125
#rb lauren.barnes jeremie.roy max.chen patrick.boutot
#fyi frank.fella
#preflight 60b8ee03ae46a100018c62f5

[CL 16549602 by brooke hubert in ue5-main branch]
2021-06-03 13:22:59 -04:00
Marc Audy
0cbbc781ca Merge UE5/Release-Engine-Staging @ 15740152 to UE5/Main
This represents UE4/Main @ 15709114

[CL 15740605 by Marc Audy in ue5-main branch]
2021-03-18 15:20:03 -04:00
Andrew Rodham
2b44b580e4 Sequencer: Upgraded object binding IDs to be more portable when nested
- This change introduces two separate types for dealing with binding IDs in different spaces explicitly: FFixedObjectBindingID and FRelativeObjectBindingID. The latter is portable if the sequence it was created within is nested inside another foreign hierarchy.
  - FMovieSceneObjectBindingID remains, and is able to represent both of the new types, but should only be used for serialization to ensure compatability and consistency with editor tools that operate in different spaces.
  - Any manual ResolveLocalToRoot or GetSequenceID processing has now been replaced with the new ResolveBoundObjects API, which provides a less error-prone way of resolving bindings that live in different sequences

#jira UE-74450
#rb Max.Chen, Ludovic.Chabant

[CL 14915667 by Andrew Rodham in ue5-main branch]
2020-12-14 14:36:17 -04:00
sebastian nordgren
f52f55d544 Removed default change type value for IPropertyHandle::NotifyPostChange, and fixed all usages of it.
#fyi matt.kuhlenschmidt

[CL 13884127 by sebastian nordgren in ue5-main branch]
2020-07-17 11:52:33 -04:00
ryan durand
627baf970a Updating copyright for Engine Editor.
#rnx
#rb none


#ROBOMERGE-SOURCE: CL 10869241 via CL 10869527 via CL 10869904
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870586 by ryan durand in Main branch]
2019-12-26 15:33:43 -05:00
Ben Marsh
7598af0532 Update copyright notices to 2019.
#rb none
#lockdown Nick.Penwarden

[CL 4662404 by Ben Marsh in Main branch]
2018-12-14 13:41:00 -05:00
Max Chen
ba80165ab6 Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692)
#lockdown Nick.Penwarden
#rb none

============================
  MAJOR FEATURES & CHANGES
============================

Change 3801826 by Max.Chen

	PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster)


Change 3801828 by Max.Chen

	PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster)


Change 3801837 by Max.Chen

	Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when
converting back and forth from possessable to spawnable.

	#jira UE-52400

Change 3801841 by Max.Chen

	Sequencer: Make spacer nodes not selectable.

	PR #4194: Improvements to Sequencer (Contributed by projectgheist)

	#jira UE-53117
	#jira UE-52139

Change 3804183 by Max.Preussner

	MediaAssets: Added missing lock in media sound component

Change 3805414 by Max.Preussner

	MediaAssets: Setting valid GUID when initializing media texture resource

Change 3819578 by Max.Chen

	PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike)

	#jira UE-53647

Change 3823414 by Max.Chen

	Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected.

	#jira UE-53591

Change 3826406 by Max.Chen

	Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the
hud/player visibility was getting stomped on later.

	#jira UE-52772

Change 3827044 by Max.Preussner

	MediaAssets: Added sprite visualization to media sound component

	#jira UE-53594

Change 3827988 by Max.Preussner

	MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together

	#jira UE-53532

Change 3828506 by Max.Preussner

	MediaPlayerEditor: Added attenuation visualizer for media sound components

	#jira  UE-53594

Change 3832590 by andrew.porter

	EngineTest: Added a keep state check in Property Animation sequencer test

Change 3833053 by andrew.porter

	EngineTest: Adding Hierarchical Bias test

Change 3835683 by andrew.porter

	EngineTest: Adding UMG Animation screenshot test

Change 3836076 by Max.Chen

	Sequencer: Fix audio volume and pitch multiplier deprecation.

Change 3836230 by andrew.porter

	EngineTest: Adding Sequence Bone Position automation test

Change 3836347 by Max.Chen

	Sequencer: Fixes to shot name parsing.

	When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber].
	When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment
properly.

	#jira UE-51868

Change 3836552 by Max.Chen

	Sequencer: Sub section now has a takes menu

Change 3838094 by Max.Chen

	UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished.

	#jira UE-52285

Change 3838708 by Max.Chen

	Sequencer: Add notification when the blend type is changed.

	#jira UE-54046

Change 3840295 by Max.Chen

	Sequencer: Fix copy/paste crash for lights

	#jira UE-54084

Change 3840957 by Mike.Zyracki

	Added Show Only Keyable and Show Only Animated to the filter list in the property editor.

	Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which
is used for the key icon next to the properties.).  Could have created another interface but then would have had to mimic the sequencer
binding, releasing also, so this seemed best way.

	One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain
properties, in particulalry transforms, won't show up as keyable or animated.  Note this also shows up with the keyable icon not showing
up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs.  Not sure best way to tackle
this.

	#jira UESEQ-328

Change 3841756 by Max.Chen

	Sequencer: Fix unbound possessable components when pasting spawnables.

	#jira UE-54104

Change 3843950 by andrew.porter

	EngineTest: Renaming LevelStreaming tests/content to LevelVisibility

Change 3844082 by Mike.Zyracki

	Missing file for animated filter in property editor.
	When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular
property. So we don't set a class for it and just search by it's ID and name.

	#jira UESEQ-328

Change 3846902 by Max.Preussner

	ImgMedia: Fixed image media player never finished initialization if loading failed

	#jira UE-54247

Change 3849820 by Mike.Zyracki

	Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation
on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism
(OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note
that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is
active. We could move to this mechanism there also.

	#jira UE-53163

Change 3852211 by Max.Chen

	UMG: Indicate name of the property that is not bound.

	#jira UE-54350

Change 3854120 by Max.Chen

	Sequencer: Fix sibling folders being allowed to have the same folder name.

	#jira UE-54363

Change 3854627 by Max.Chen

	Sequencer: Step to next/previous key should work for all tracks if there aren't any selected.

	#jira UESEQ-391

Change 3855825 by andrew.porter

	EngineTest: Adding animation blending automation test

Change 3855950 by andrew.porter

	EngineTest: Adding correct expected valuues to animation blending test

Change 3856237 by Matt.Hoffman

	UESEQ-336 - Sequencer Track Reordering
	Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the
ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was
under legacy behavior.

	Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and
ontop of.

	Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row
if the item says the drop happened ontop of the item, and not above or below it like it previously did.

Change 3856503 by andrew.porter

	EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer

Change 3857875 by Max.Chen

	Sequencer: Assign the sequence id after the template is compiled.

	#jira UE-54462

Change 3858344 by Max.Chen

	Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized
horizontal box. Also, added close button to the goto box.

	PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist)


	#jira UE-54210

Change 3860566 by andrew.porter

	MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default

Change 3860654 by andrew.porter

	EngineTest: Enabling Camera Cut + FOV test

Change 3860981 by andrew.porter

	EngineTest: Updating skeletal mesh tests with a delay after set playback position

Change 3861256 by Max.Chen

	Sequencer: Add all bindings if none selected.

	#jira-54440

Change 3862154 by Andrew.Rodham

	Added TimeManagement module

Change 3862424 by andrew.porter

	EngineTest: Turned on the test Bone Positions with Blend Multi Node

Change 3862573 by andrew.porter

	EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP

Change 3865117 by Max.Chen

	Sequencer: Stop auto scroll on mouse release of movement.

	#jira UE-31212

Change 3865303 by Max.Chen

	Sequencer: Add drag and drop transactions

	#jira UE-54662

Change 3865304 by Max.Chen

	Sequencer: Fix crash when an actor factory is not found.

Change 3865361 by Max.Chen

	Sequencer: Don't change the camera/shot lock button when popping out of a sequence.

	#jira UE-54665

Change 3865412 by Max.Chen

	Sequencer: Determine whether a transform track is for a camera by using the spawned object or template

	#jira UE-54666

Change 3865685 by Max.Chen

	Sequencer: Clear autoscrub offset when stopping autoscroll

	#jira UE-31212

Change 3865886 by Max.Chen

	Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while
recording.

	#jira UE-48715

Change 3866925 by Andrew.Porter

	MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576

Change 3867705 by andrew.porter

	QAGame: Adding Audio Sort Sequence to dev folder

Change 3867890 by andrew.porter

	QAGame: Adding a sequence for testing a sorting crash to my dev folder

Change 3872628 by Max.Chen

	Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when
the movie scene capture warmups up vs. shot boundaries.

Change 3873131 by Matt.Hoffman

	UE-54732 - Crash reordering a folder with a track.
	This was caused by folders being the only type of track to check if someone was putting a parent track into a child track.
Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children.
	This also fixed a typo in the localization keys.

	#jira UE-54732

Change 3873301 by Mike.Zyracki

	Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do
this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the
current euler angle.
	Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one
to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value
that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler
after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips.

	I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and
just setting yaw.  Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to
numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation
mode (like Maya, Blender etc..) if we ever want that also.  If needed we could keep the previous implementation but would  need to add
some FMath::IsNearlyZero checks, with less performance.

	Note we only do this special filtering when applying delta's to actors or components in the editors, which then call
UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows
us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent
functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound.

	In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting
changed and re-normalized if just translate happens.

	In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding
check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do
about this .

	Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations
value are now unbound.

	This review now includes fixes suggested by Zak.

	#jira UE-UE-22228

Change 3873483 by Matt.Hoffman

	Sequencer Tracks can now be inserted above the spacer at the bottom of the tree.

	#jira UE-54706

Change 3873899 by Max.Chen

	Sequencer: Add section selection throbbing

Change 3873908 by Max.Chen

	Movie Scene Capture: Added logging per frame

Change 3873924 by Matt.Hoffman

	Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles
store the Actor Recordings so the settings for each actor should carry with them.

	#jira UESEQ-339

Change 3874726 by Matt.Hoffman

	Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up
between each row.

	#jira UE-54706

Change 3874862 by Matt.Hoffman

	Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order
index when normalizing indexes.

	#jira UE-54727

Change 3875905 by Matt.Hoffman

	Disable Fade Track UI if a fade track already exists in the sequence.

	#jira UESEQ-393

Change 3876163 by Max.Chen

	Sequencer: Swap the camera object to the camera component's owner if it's not the same.

	#jira UE-54874

Change 3876971 by Andrew.Porter

	EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image.

Change 3877040 by Max.Chen

	Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties
in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible.

	#jira UE-54192

Change 3877763 by Max.Chen

	Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification,
otherwise all loaded curves were getting notified that they were changed.

	#jira UE-54951

Change 3878234 by Matt.Hoffman

	Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding
Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node.

	#jira UE-54743

Change 3879359 by Mike.Zyracki

	If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active
logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to
how the active state actually works, e.g if you have two sections and only one is active the track is still active above it.

	#jira UESEQ-388

Change 3879462 by Max.Chen

	Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly
created section. Newly created sections are now selected and throbbed to draw attention to themselves.

	#jira UE-54664

Change 3879464 by Max.Chen

	Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation

	  - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would
potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field.
	  - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed
that a supplied range could not entirely contain any other range in the field.
	  - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field,
and crop the range to the maximum allowable space between adjacent ranges.

	#jira UE-54922

Change 3879590 by Matt.Hoffman

	Items that are now added to the Sequencer via the "+Track" menu will be selected after being added.
	Items can now be added inside of folders instead of just to the root level.

	#jira UE-27397

Change 3879612 by Mike.Zyracki

	Display Nodes with no children are always active.
	#jira UESEQ-388

Change 3879730 by Matt.Hoffman

	Sequence Recorder's actor recording groups now remove items from the group when removed via the UI.

	#jira UESEQ-339

Change 3880256 by Mike.Zyracki

	Fix issue with inactive display with folders and other track nodes.
	#jira UESEQ-388

Change 3883491 by Max.Chen

	Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes.

	Copy from Release-4.19

	#jira UE-51323

Change 3883603 by Max.Chen

	Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior).

	#jira UE-51898

Change 3885074 by Max.Preussner

	MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code

Change 3887220 by Max.Preussner

	MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases)

Change 3887478 by Matt.Hoffman

	Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being
evaluated.

	#jira UE-51469

Change 3888985 by Max.Chen

	Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1.

	#jira UE-55136

Change 3893519 by Max.Chen

	Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the
ActorFilter.

	#jira UE-55238

Change 3893546 by Max.Chen

	Sequence Recorder: If a selected actor already has a recording, add a blank recording.

	#jira UE-55239

Change 3894044 by Max.Preussner

	MediaCompositing: Added support for seeking into a media section

Change 3894310 by andrew.porter

	MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content

Change 3894426 by Max.Preussner

	MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset

Change 3895717 by Max.Chen

	Sequencer: Null checks to prevent crash when saving the default state of a spawnable

	#jira UE-55304

Change 3897388 by Max.Chen

	Sequencer: Don't update current time to be within the view range when stepping into a sequence.

	#jira UE-55322

Change 3897452 by Max.Chen

	Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is
not 1 or 2.

	#jira UE-55223

Change 3897619 by Max.Preussner

	MediaCompositing: Removed commented out code

Change 3898072 by Max.Chen

	Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated.

	#jira UE-55328

Change 3898272 by Max.Preussner

	MediaPlayerEditor: Made slate brush constants static

Change 3898704 by Max.Chen

	Sequencer: Skip if the binding id's sequence can't be found.

	#jira UE-55337

Change 3899855 by Max.Preussner

	MediaCompositingEditor: Added cache state visualization to media track

Change 3900300 by Max.Preussner

	MediaCompositingEditor: Added loop indicators to media sections

Change 3900694 by Max.Preussner

	ImfMedia: Looping cache only when player is looping

Change 3900892 by Max.Preussner

	Stats: Added stats category for media framework

Change 3900954 by Max.Preussner

	MediaCompositing: Don't evaluate at the end of media section

Change 3901348 by Max.Preussner

	Core: Replaced TLruCache autos for better readability

Change 3901655 by Max.Preussner

	ImgMedia: Added more perf stats to EXR reader

Change 3901972 by Max.Preussner

	MediaAssets: Added getter for media player in media sound components

Change 3902233 by Max.Preussner

	MediaAssets: Enabling media textures to receive samples right after player is assigned

Change 3902238 by Max.Preussner

	MediaCompositing: Working around init/shutdown idiosyncracies in sequencer

Change 3904045 by Max.Chen

	Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene
spawn register.

	#jira UE-55314

Change 3905605 by Max.Chen

	Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of.

	#jira UE-55429

Change 3906550 by Max.Chen

	Sequencer: Add media track icon

	#jira UE-55480

Change 3907101 by Max.Chen

	Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level
sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not
create a level sequence.

	Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording
displays, etc should function if IsRecording() and not based on whether a level sequence is created.

	#jira UE-55485

Change 3907247 by Max.Chen

	Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing
it, and then opening or creating a level.

Change 3910343 by Max.Preussner

	Core: Added async helper for executing functions on a given thread pool

Change 3910346 by Max.Preussner

	ImgMedia: Added separate thread pools for loading/decoding and deleting image frames

Change 3910829 by Max.Preussner

	Profiler: Increased visible range of profiler graph

Change 3910841 by Max.Preussner

	MediaCompositing: Displaying asset name instead of full media source path in media section

Change 3910870 by Max.Preussner

	ImgMedia: Using deallocation thread pool only in debug builds

Change 3919642 by Max.Chen

	Sequence Recorder: Clarify active tooltip

	#jira UE-55661

Change 3919660 by Max.Chen

	Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved
but not modified

	  - The following sequence of events exposes this issue:
	    - Create a master sequence with a single shot that spawns a cube
	    - Add this sequence to a level and set it to auto-play
	    - Save everything and restart
	    - Resave just the inner shot asset without opening it
	    - PIE
	    - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the
master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template.

	#jira UE-55626
	#jira UE-55490

Change 3921825 by Max.Chen

	Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content
author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled.

Change 3922232 by Max.Chen

	Sequence Recorder: Reset countdelay on stop.

	#jira UE-55755

Change 3922306 by Max.Chen

	Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user
toggled it off to warn that the resulting animation might not match gameplay.

	#jira UE-55758

Change 3922912 by Max.Chen

	Sequence Recorder: Fix refresh next sequence name

	#jira UE-55757

Change 3927654 by Max.Chen

	Movie Scene Capture: Added format mapping for the name of the current camera

	#jira UE-55769

	PR #4537

Change 3927658 by Max.Chen

	Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance"

	#jira UE-55782

Change 3932022 by Max.Chen

	Sequencer: Add import animation track section to next available row index.

	#jira UE-55892

Change 3933919 by Max.Chen

	Sequencer: Jump to playback start frame and not 0 to start playback for recording.

	#jira UE-55933

Change 3934307 by Andrew.Rodham

	Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation
fields

	This fixes an issue where the same sequence is instantiated multiple times in a sequence.
	 If the source sequence was saved, its template would be wiped, which would invalidate the template ID
	When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the
hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions
later (or earlier) on in the sequence
	When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't
actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it
thought, but the *template* has changed)

	This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence
signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed.

	#jira UE-55934

Change 3936327 by Andrew.Rodham

	Sequencer: Removed increment when trimming right

	UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we
can trim a section to the right, and insert another section without changing the time to create adjacent sections.

	#jira UE-42652

Change 3936328 by Andrew.Rodham

	Fixed KeyFrameManipulator assignment operators and copy/move constructors
	  - These types are potentially self-referential so cannot use default constructors/assignment

Change 3936330 by Andrew.Rodham

	Converted UMGSequencePlayer to use frames internally

	#jira UE-54878

Change 3936726 by Max.Chen

	Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent
object binding node. Without this, the binding to the external value fails.

	#jira UE-55931

Change 3936775 by Max.Chen

	Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime.

	The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and
have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100.

	#jira UE-55933

Change 3936935 by Matt.Hoffman

	Easing Curves are now represented in Play Rate resolution instead of internal resolution.

	#jira UE-55937

Change 3937069 by Matt.Hoffman

	Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges.

	#jira UE-55891

Change 3937516 by Max.Preussner

	ImgMedia: Added support for single-threaded platforms

	#jira UE-55986

Change 3937826 by Max.Preussner

	MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled

Change 3937997 by Max.Chen

	Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom.

	#jira UE-55935

Change 3938000 by Max.Chen

	Sequencer: Stop all sounds before generating audio waveforms.

	#jira UE-55951

Change 3938376 by Max.Preussner

	XGEController: Disabled XGE Controller in single-threaded apps to prevent crash

Change 3938444 by Max.Preussner

	Core: Added async support for single-threaded applications

Change 3938445 by Max.Preussner

	Networking: Added support for single-threaded applications in UDP socket sender/receiver

Change 3938447 by Max.Preussner

	Messaging: Added support for single-threaded applications

Change 3939432 by Max.Chen

	Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor.

	#jira UE-55798

Change 3940229 by Andrew.Rodham

	Added prospective display rate upgrade to UMovieScene::PostLoad

	  - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused
in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data.
	  - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer
settings, but we no longer look at these.
	  - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a
fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults.
	  - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for
a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in
UMovieScene

	#jira UE-55919

Change 3940277 by Andrew.Rodham

	Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences

Change 3940378 by Andrew.Rodham

	Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers

Change 3940559 by Andrew.Rodham

	Reinstated primed or recording sequence color

Change 3940642 by Max.Preussner

	ImagePlate: Removed image plate media playback functionality

Change 3940843 by Max.Preussner

	Core: Made TCircularQueue actually thread-safe; improved code comments

Change 3940860 by Max.Chen

	Sequencer: Changed StructNameToKey to StructPathToKey

	Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as
considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can
determine the desired struct path and channels to key.

	#jira UE-52966

Change 3941292 by Mike.Zyracki

	Fix for trajectories out of range not showing up.

	1) If we had no key data we would pop the time, so wouldn't get the section ranges.
	2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound.
	3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly.
	4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as
dashed we would do so incorrectly around section end points.

	#jira UE-55929

Change 3941424 by Max.Chen

	Curve Editor: Change Zoom to Fit to use TArrayView

Change 3941498 by Max.Preussner

	Core: Added FMath::DivideAndRoundNearest function

Change 3942097 by Matt.Hoffman

	Drop Frame Timecode Support for NTSC rates.

Change 3942104 by Matt.Hoffman

	Sequence Recorder Group is no longer visible inside the World Outliner after using one.

	#jira 55266

Change 3942107 by Max.Chen

	Sequencer: Resurrect logic to find or extend an existing section when adding keys.

Change 3942330 by Max.Chen

	Sequence Recorder: Better tooltip for default animation settings.

	#jira UE-55636

Change 3942339 by Max.Chen

	Sequence Recorder: Better tooltip for default animation settings.

	#jira UE-55636

Change 3942507 by Andrew.Rodham

	Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level
	  - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way

Change 3942509 by Andrew.Rodham

	Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render
	  - This stops us from rendering keys that are within the view range, but outside the section range

Change 3942512 by Andrew.Rodham

	Added transactions to some sequencer details customizations

Change 3942513 by Andrew.Rodham

	Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use
SetRange

Change 3942560 by Andrew.Rodham

	Pass by rvalue reference to appease error C2719 on Win32
	('InChannels': formal parameter with requested alignment of 8 won't be aligned)

Change 3942697 by Andrew.Rodham

	Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all
integer rates + 23.976)

Change 3942700 by Andrew.Rodham

	Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution

Change 3942989 by Max.Preussner

	Core: Fixed circular queue count calculation

Change 3943538 by Max.Preussner

	MediaAssets: Reverted workaround for procedural audio log spam in HTML5

	(Actor component initialization cannot be skipped if the component is used in a level)

Change 3944071 by Max.Preussner

	QAGame: Fixed Media Texture keeps last frame of Media when PIE ends

	#jira UE-53360

Change 3944292 by Max.Chen

	Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences

	#jira UE-56113

Change 3944364 by Max.Chen

	Sequencer: Prevent circular shot/master tracks.

	Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button.

	#jira UE-56091

Change 3944422 by Max.Chen

	Sequence Recorder: Disable transform recording if off.

	#jira UE-56061

Change 3944745 by Andrew.Rodham

	Sequencer: Key rendering fixes

	  - Fixed assert  that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being
slightly larger TimeOverlapThreshold
	  - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset
	  - Added missing documentation to MovieSceneTimeHelpers.h

	#jira UE-56107

Change 3945231 by Andrew.Rodham

	Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication

	#jira UE-56089

Change 3945301 by Andrew.Rodham

	Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges

	#jira UE-56125

Change 3946627 by Max.Preussner

	Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called

	#jira UE-56144

[CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
Ben Marsh
30f891786a Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3847469)
#lockdown Nick.Penwarden
#rb none

============================
  MAJOR FEATURES & CHANGES
============================

Change 3805828 by Gil.Gribb

	UE4 - Fixed a bug in the lock free stalling task queue and adjusted a comment. The code is not current used, so this is not actually change the way the code works.

Change 3806784 by Ben.Marsh

	UAT: Remove code to compile UBT when using UE4Build. It should already be compiled as a dependency of UAT.

Change 3807549 by Graeme.Thornton

	Add a cook timer around VerifyCanCookPackage. A licensee reports this taking a lot of time so it'll be good to account for it.

Change 3807727 by Graeme.Thornton

	Unhide the text asset format experimental editor option

Change 3807746 by Josh.Engebretson

	Remove WER from iOS platform

Change 3807928 by Robert.Manuszewski

	When async loading, GC Clusters will be created after packages have been processed to avoid situations where some of the objects that are being added to a cluster haven't been fully loaded yet

Change 3808221 by Steve.Robb

	GitHub #4307 - Made GetModulePtr() thread safe by not using GetModule()

	^ I'm not convinced by how much thread-safer this is really, but it's tidier anyway.

Change 3809233 by Graeme.Thornton

	TBA: Misc changes to text asset commandlet
	 - Rename mode to "loadsave"
	 - Add -outputFormat option which can be assigned "text" or "binary"
	 - When saving binary, use a differentiated filename so that source assets aren't overwritten

Change 3809518 by Ben.Marsh

	Remove the outdated UnrealSync automation script.

Change 3809643 by Steve.Robb

	GitHub #4277 : fix bug; FMath::FormatIntToHumanReadable 3rd comma and negative value

	#jira UE-53037

Change 3809862 by Steve.Robb

	GitHub #3342 : [FRotator.h] Fix to DecompressAxisFromByte to be more efficient and reflect its intent accurately

	#jira UE-42593

Change 3811190 by Graeme.Thornton

	Add support for writing specific log channels to their own files

Change 3811197 by Graeme.Thornton

	Minor updates to output formatting and timing for the text asset commandlet

Change 3811257 by Robert.Manuszewski

	Cluster creation will now be time-sliced

Change 3811565 by Steve.Robb

	Define out non-monolithic module functions.

Change 3812561 by Steve.Robb

	GitHub #3886 : Enable Brace-Initialization for Declaring Variables

	Incorrect semi-colon search removed after discussion with author.
	Test added.

	#jira UE-48242

Change 3812864 by Steve.Robb

	Removal of some unproven code which was supposed to fix hot reloading BP class functions in plugins.

	See: https://udn.unrealengine.com/questions/376978/aitask-blueprint-nodes-disappear-when-their-module.html

	#jira UE-53089

Change 3820358 by Ben.Marsh

	PR #4358: Incredibuild use ShowAgent by default (Contributed by projectgheist)


Change 3822594 by Ben.Marsh

	UAT: Improvements to log file handling.

	- Always create log files in the final location, rather than writing to a temp directory and copying in later.
	- Now supports -Verbose and -VeryVerbose for increasing log verbosity, rather than -Verbose=XXX.
	- Keep a backlog of log output before the log system is initialized, and flush it to the log file once it is.
	- Allow buildmachines to specify the uebp_FinalLogFolder environment variable, which is used to form paths for display. When build machines copy log files elsewhere after UAT finishes (eg. a network share), this allows error messages to display the right location.

Change 3823695 by Ben.Marsh

	UGS: Fix issue where precompiled binaries would not be shown as available for a change until scrolling the last submitted code change into the buffer (other symptoms, like de-focussing the main window would cause it to go back to an unavailable state, since the changes buffer was shrunk).

	Now always queries changes up to the last change for which zipped binaries are available.

Change 3823845 by Ben.Marsh

	UBT: Exclude C# projects for unsupported platforms when generating project files.

Change 3824180 by Ben.Marsh

	UGS: Add an option to show changes by build machines, and move the "only show reviewed" option in there too (Options > Show Changes).

	#jira

Change 3825777 by Steve.Robb

	Fix to return value of StringToBytes.

Change 3825810 by Ben.Marsh

	UBT: Reduce length of include paths for MSVC toolchain.

Change 3825822 by Robert.Manuszewski

	Optimized PIE lazy pointer fixup. Should be up to 8x faster now.

Change 3826734 by Ben.Marsh

	Remove code to disable TextureFormatAndroid on Linux. It seems to be an editor dependency.

Change 3827730 by Steve.Robb

	Try to avoid decltype(auto) if it's not supported.

	See: https://udn.unrealengine.com/questions/395644/build-417-with-c11-on-linux-ttuple-errors.html

Change 3827745 by Steve.Robb

	Initializer list support for TMap.

Change 3827770 by Steve.Robb

	GitHub #4399 : Added a CONSTEXPR qualifiers to FVariant::GetType()

	#jira UE-53813

Change 3829189 by Ben.Marsh

	UBT: Now always writes a minimal log file. By default, just contains the regular console output and any reasons why actions are outdated and needed to be executed. UAT directs child UBT instances to output logs into its own log folder, so that build machines can save them off.

Change 3830444 by Steve.Robb

	BuildVersion and ModuleManifest moved to Core, and parsing of these files reimplemented to avoid a JSON library.
	This should be revisited when Core has its own JSON library.

Change 3830718 by Ben.Marsh

	Fix incorrect group name being returned by FStatNameAndInfo::GetGroupName() for stat groups.

	The editor populates the viewport stats list by calling this for every registered stat and stat group (via FLevelViewportCommands::HandleNewStatGroup). The menu entry attempts to show the stat name with STAT_XXX stripped from the start as the menu item label, with the free-form text description as a tooltip.

	For stat groups, the it would previously just return the stat group name as "Groups" (due to the raw naming convention of "//Groups//STATGROUP_Foo//..."). Since this didn't match the expected naming convention in FLevelViewportCommands::HandleNewStat (ie. STAT_XXX or STATGROUP_XXX), it would fail to add it.

	When the first actual stat belonging to that group is added, it would add a menu entry for the group based on that, but the stat description no longer makes sense as a tooltip for the group. As a result, all the editor tooltips were junk.

	#jira UE-53845

Change 3831064 by Ben.Marsh

	Fix log file contention when spawning UBT recursively.

Change 3832654 by Ben.Marsh

	UGS: Fix error panel not being selected when opened, and weird alignment/color issues on it.

Change 3832680 by Ben.Marsh

	UGS: Fix failing to detect workspace if synced to a different stream. Seems to be a regression caused by recent P4D upgrade.

Change 3832695 by Ben.Marsh

	UGS: Invert the options in the 'Show Changes' submenu for simplicity.

Change 3833528 by Ben.Marsh

	UAT: Script to rewrite source files with public include paths relative to the 'Public' folder. Usage is: RebasePublicIncludePaths -UpdateDir=<Dir> [-Project=<Dir>] [-Write].

Change 3833543 by Ben.Marsh

	UBT: Allow targets to opt-out of having public include paths added for every dependent module. This reduces the command line length when building a target, which has recently become a problem with larger games (due to Microsoft's compiler embedding the command line into each object file, with a maximum length of 64kb). All engine modules are compiled with this enabled; games may opt into it by setting bLegacyPublicIncludePaths = false; from their .target.cs, as may individual modules.

Change 3834354 by Robert.Manuszewski

	Archetype pointer will now be cached to avoid locking the object tables when acquiring its info. It should also be faster this way regardless of any locks.

	#jira UE-52035

Change 3834400 by Robert.Manuszewski

	Fixing crash on exit caused by cached archetypes not being cleaned up before static exit cleanup.

	#jira UE-52035

Change 3834947 by Steve.Robb

	USE_FORMAT_STRING_TYPE_CHECKING removed from FMsg::Logf and FMsg::Logf_Internal.

Change 3835004 by Ben.Marsh

	Fix code that relies on dubious behavior of requiring referenced "include path only" modules having their _API macros set to be empty, even if the module is actually implemented in a separate DLL.

Change 3835340 by Ben.Marsh

	Fix errors making installed build from directories with spaces in the name.

Change 3835972 by Ben.Marsh

	UBT: Improved diagnostic message for targets which don't need a version file.

Change 3836019 by Ben.Marsh

	UBT: Fix warnings caused by defining linkage macros for third party libraries.

Change 3836269 by Ben.Marsh

	Fix message box larger than the screen height being created when a large number of modules are incompatible on startup.

Change 3836543 by Ben.Marsh

	Enable SoundMod plugin on Linux, since it's already supported through the editor.

Change 3836546 by Ben.Marsh

	PR #4412: fix type mismatch (Contributed by nakapon)


Change 3836805 by Ben.Marsh

	Fix commandlet to compile marketplace plugins.

Change 3836829 by Ben.Marsh

	UBT: Fix ability to precompile plugins from installed engine builds.

Change 3837036 by Ben.Marsh

	UBT: Write the previous and new contents of intermediate files to the log if they change. Makes it easier to debug unexpected rebuilds.

Change 3837037 by Ben.Marsh

	UBT: Fix engine modules having inconsistent definitions depending on whether modules are only referenced for their include paths vs being linked into a binary (due to different _API macro).

Change 3837040 by Ben.Marsh

	UBT: Remove code that initializes members in ModuleRules and TargetRules objects before the constructor is run. This is no longer necessary, now that the backwards-compatible default constructors have been removed.

Change 3837247 by Ben.Marsh

	UBT: Remove UELinkerFixups module, now that plugins and precompiled modules do not require hacks to force initialization (since they're linked in as object files).

	Encryption and signing keys are now set via macros expanded from the IMPLEMENT_PRIMARY_GAME_MODULE macro, via project-specific macros added in the TargetRules constructor.

Change 3837262 by Ben.Marsh

	UBT: Set whether a module is an engine module or not via a default value for the rules assembly. All non-program engine and enterprise modules are created with this flag set to true; program targets and modules are now created from a different assembly that sets it to false. This removes hacks from UEBuildModule needed to adjust behavior for different module types based on the directory containing the module.

	Also add a bUseBackwardsCompatibleDefaults flag to the TargetRules class, also initialized to a default value from a setting passed to the RulesAssembly constructor. This controls whether modules created for the target should be configured to allow breaking changes to default settings, and is set to false for all engine targets, and true for all project targets.

Change 3837343 by Ben.Marsh

	UBT: Remove the OverrideExecutableFileExtension target property. Change the only current use for this (the MayaLiveLinkPlugin target) to use a post build step to copy the file instead.

Change 3837356 by Ben.Marsh

	Fix invalid character encodings.

Change 3837727 by Graeme.Thornton

	UnrealPak: KeyGenerator: Only generate prime table when required, not all the time

Change 3837823 by Ben.Marsh

	UBT: Output warnings and errors when compiling module rules assembly in a way that allows them to be double-clicked in the Visual Studio output window.

Change 3837831 by Graeme.Thornton

	UBT: When parsing crypto settings, always load legacy data first, then allow the new system to override it. Provides the same key backwards compatibility that the editor settings class gives

Change 3837857 by Robert.Manuszewski

	PR #4404: Make FGCArrayPool singleton global instead of per-CU (Contributed by mhutch)


Change 3837943 by Robert.Manuszewski

	PR #4405: Fix FGarbageCollectionTracer (Contributed by mhutch)


Change 3838451 by Ben.Marsh

	UBT: Fix exceptions thrown on a background thread while caching C++ includes not being caught and logged correctly. Now captures exceptions and re-throws on the main thread.

	#jira UE-53996

Change 3839519 by Ben.Marsh

	UBT: Simplify configuring bPrecompile and bUsePrecompile settings for modules. Each rules assembly can now be configured as installed, which defaults the module rules it creates to use precompiled data.

Change 3843790 by Graeme.Thornton

	UnrealPak: Log the size of all encrypted data

Change 3844258 by Ben.Marsh

	Fix plugin compile failure when created via new plugin wizard. Passing -plugin on the command line is unnecessary, and is now reserved for packaging external plugins for the marketplace.

	Also extend the length of time that the error toast stays visible, and don't delete the plugin on failure.

	#jira UE-54157

Change 3845796 by Ben.Marsh

	Workaround for slow performance of String.EndsWith() on Mono.

Change 3845823 by Ben.Marsh

	Fix case sensitive matching of platform names in -TargetPlatform=X argument to BuildCookRun.

	#jira UE-54123

Change 3845901 by Arciel.Rekman

	Linux: fix crash due to lambda lifetime issues (UE-54040).

	- The lambda goes out of scope in FBufferVisualizationMenuCommands::CreateVisualizationCommands, crashing the editor if compiled with a recent clang (5.0+).

	(Edigrating 3819174 to Dev-Core)

Change 3846439 by Ben.Marsh

	Revert CL 3822742 to always call Process.WaitForExit(). The Android target platform module in the editor spawns ADB.EXE, which inherits the editor's stdout/stderr handles and forks itself. Process.WaitForExit() waits for EOF on those pipes, which never occurs because the forked process never terminates.

	Proper fix is probably to have the engine explicitly duplicate stdout/stderr handles for new pipes to output process, but too risky before copying up to Main.

Change 3816608 by Ben.Marsh

	UBT: Use DirectoryReference objects for all include paths.

Change 3816954 by Ben.Marsh

	UBT: Remove bIncludeDependentLibrariesInLibrary option. This is not widely supported by platform toolchains, and is not used anywhere.

Change 3816986 by Ben.Marsh

	UBT: Remove UEBuildBinaryConfig; UEBuildBinary objects are now just created directly.

Change 3816991 by Ben.Marsh

	UBT: Deprecate PlatformSpecificDynamicallyLoadedModules. We no longer have any special behavior for these modules.

Change 3823090 by Ben.Marsh

	UAT: Improve logging for child UAT instances.

	- Calling RunUAT now requires an identifier for prefixing into the parent log, which is also used to determine the name of the log folder.
	- Stdout is no longer written to its own output file, since it's written to the parent stdout, the parent log file, and the child log file anyway.
	- Log folders for child UAT instances are left intact, rather than being copied to the parent folder. The derived names for the copied names were confusing and hard to read.
	- Output from UAT is no longer returned as a string. It should not be parsed anyway (but may be huge!). ProcessResult now supports running without capturing output.

Change 3826082 by Ben.Marsh

	UBT: Add a check to make sure that all modules that are precompiled are correctly marked to enable it, even if they are part of the build target.

Change 3827025 by Ben.Marsh

	UBT: Move the compile output directory into a property on the module, and explicitly pass it to the toolchain when compiling.

Change 3829927 by James.Hopkin

	Made HTTP interface const correct

Change 3833533 by Ben.Marsh

	Rewrite engine source files to base include paths relative to the "Public" directory. This allows reducing the number of public include paths that have to be added for engine modules.

Change 3835826 by Ben.Marsh

	UBT: Precompiled targets now generate a separate manifest for each precompiled module, rather than adding object files to a library. This fixes issues where object files from static libraries would not be linked into a target if a symbol in them was not referenced.

Change 3835969 by Ben.Marsh

	UBT: Fix cases where text is being written directly to the console rather than via logging functions.

Change 3837777 by Steve.Robb

	Format string type checking added to FOutputDevice::Logf.
	Fixes for those.

Change 3838569 by Steve.Robb

	Algo moved up a folder.

[CL 3847482 by Ben Marsh in Main branch]
2018-01-20 11:19:29 -05:00
Ben Marsh
13d012685f Merging copyright update from 4.19 branch.
#rb none
#rnx
#jira

[CL 3818977 by Ben Marsh in Staging-4.19 branch]
2018-01-02 15:30:26 -05:00
Max Chen
681d8dbbd5 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
Ben Marsh
9bf24bb276 Merging //UE4/Release-4.16@3405315 to Release-Staging-4.16 (//UE4/Release-Staging-4.16)
#rb none

[CL 3409211 by Ben Marsh in Staging-4.16 branch]
2017-04-26 08:28:56 -04:00