Files
UnrealEngineUWP/Engine/Source/Runtime/MovieSceneCapture/Private/MovieSceneCapture.cpp

887 lines
27 KiB
C++
Raw Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
#include "MovieSceneCapture.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 "Dom/JsonValue.h"
#include "Dom/JsonObject.h"
#include "HAL/PlatformFileManager.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 "HAL/FileManager.h"
#include "Misc/CommandLine.h"
#include "Misc/Paths.h"
#include "Misc/ConfigCacheIni.h"
#include "Misc/App.h"
#include "Engine/World.h"
#include "Slate/SceneViewport.h"
#include "Serialization/JsonReader.h"
#include "Serialization/JsonSerializer.h"
#include "ActiveMovieSceneCaptures.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 "JsonObjectConverter.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 "Misc/RemoteConfigIni.h"
#include "MovieSceneCaptureModule.h"
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
#include "Engine/GameViewportClient.h"
#include "Protocols/VideoCaptureProtocol.h"
#include "Slate/SceneViewport.h"
#include "Engine/Engine.h"
#include "AssetRegistry/AssetRegistryModule.h"
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
#include "UObject/UObjectIterator.h"
#include "Protocols/AudioCaptureProtocol.h"
#include "Misc/DateTime.h"
#define LOCTEXT_NAMESPACE "MovieSceneCapture"
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
const FName UMovieSceneCapture::MovieSceneCaptureUIName = FName(TEXT("MovieSceneCaptureUIInstance"));
TArray<UClass*> FindAllCaptureProtocolClasses()
{
FAssetRegistryModule& AssetRegistryModule = FModuleManager::LoadModuleChecked<FAssetRegistryModule>(TEXT("AssetRegistry"));
// Retrieve all blueprint classes
TArray<FAssetData> BlueprintList;
FARFilter Filter;
Deprecating ANY_PACKAGE. This change consists of multiple changes: Core: - Deprecation of ANY_PACKAGE macro. Added ANY_PACKAGE_DEPRECATED macro which can still be used for backwards compatibility purposes (only used in CoreUObject) - Deprecation of StaticFindObjectFast* functions that take bAnyPackage parameter - Added UStruct::GetStructPathName function that returns FTopLevelAssetPath representing the path name (package + object FName, super quick compared to UObject::GetPathName) + wrapper UClass::GetClassPathName to make it look better when used with UClasses - Added (Static)FindFirstObject* functions that find a first object given its Name (no Outer). These functions are used in places I consider valid to do global UObject (UClass) lookups like parsing command line parameters / checking for unique object names - Added static UClass::TryFindType function which serves a similar purpose as FindFirstObject however it's going to throw a warning (with a callstack / maybe ensure in the future?) if short class name is provided. This function is used in places that used to use short class names but now should have been converted to use path names to catch any potential regressions and or edge cases I missed. - Added static UClass::TryConvertShortNameToPathName utility function - Added static UClass::TryFixShortClassNameExportPath utility function - Object text export paths will now also include class path (Texture2D'/Game/Textures/Grass.Grass' -> /Script/Engine.Texture2D'/Game/Textures/Grass.Grass') - All places that manually generated object export paths for objects will now use FObjectPropertyBase::GetExportPath - Added a new startup test that checks for short type names in UClass/FProperty MetaData values AssetRegistry: - Deprecated any member variables (FAssetData / FARFilter) or functions that use FNames to represent class names and replaced them with FTopLevelAssetPath - Added new member variables and new function overloads that use FTopLevelAssetPath to represent class names - This also applies to a few other modules' APIs to match AssetRegistry changes Everything else: - Updated code that used ANY_PACKAGE (depending on the use case) to use FindObject(nullptr, PathToObject), UClass::TryFindType (used when path name is expected, warns if it's a short name) or FindFirstObject (usually for finding types based on user input but there's been a few legitimate use cases not related to user input) - Updated code that used AssetRegistry API to use FTopLevelAssetPaths and USomeClass::StaticClass()->GetClassPathName() instead of GetFName() - Updated meta data and hardcoded FindObject(ANY_PACKAGE, "EEnumNameOrClassName") calls to use path names #jira UE-99463 #rb many.people [FYI] Marcus.Wassmer #preflight 629248ec2256738f75de9b32 #codereviewnumbers 20320742, 20320791, 20320799, 20320756, 20320809, 20320830, 20320840, 20320846, 20320851, 20320863, 20320780, 20320765, 20320876, 20320786 #ROBOMERGE-OWNER: robert.manuszewski #ROBOMERGE-AUTHOR: robert.manuszewski #ROBOMERGE-SOURCE: CL 20430220 via CL 20433854 via CL 20435474 via CL 20435484 #ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246) [CL 20448496 by robert manuszewski in ue5-main branch]
2022-06-01 03:46:59 -04:00
Filter.ClassPaths.Add(UMovieSceneCaptureProtocolBase::StaticClass()->GetClassPathName());
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
// Include any Blueprint based objects as well, this includes things like Blutilities, UMG, and GameplayAbility objects
Filter.bRecursiveClasses = true;
AssetRegistryModule.Get().GetAssets(Filter, BlueprintList);
TArray<UClass*> Classes;
for (const FAssetData& Data : BlueprintList)
{
UClass* Class = Data.GetClass();
if (Class)
{
Classes.Add(Class);
}
}
for (TObjectIterator<UClass> ClassIterator; ClassIterator; ++ClassIterator)
{
if (ClassIterator->IsChildOf(UMovieSceneCaptureProtocolBase::StaticClass()) && !ClassIterator->HasAnyClassFlags(CLASS_Abstract | CLASS_Deprecated | CLASS_NewerVersionExists))
{
Classes.Add(*ClassIterator);
}
}
return Classes;
}
struct FUniqueMovieSceneCaptureHandle : FMovieSceneCaptureHandle
{
FUniqueMovieSceneCaptureHandle()
{
/// Start IDs at index 1 since 0 is deemed invalid
static uint32 Unique = 1;
ID = Unique++;
}
};
FMovieSceneCaptureSettings::FMovieSceneCaptureSettings()
: Resolution(1280, 720)
{
OutputDirectory.Path = FPaths::VideoCaptureDir();
FPaths::MakePlatformFilename( OutputDirectory.Path );
bOverwriteExisting = false;
bUseRelativeFrameNumbers = false;
Copying //UE4/Release-Staging-4.14 to //UE4/Dev-Main (Source: //UE4/Release-4.14 @ 3167010) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3167010 on 2016/10/19 by Dmitriy.Dyomin Fix for LevelStreaming getting stuck, and World->PersistentLevel null assert Contributed by Funcom: https://udn.unrealengine.com/questions/312900/fix-for-levelstreaming-getting-stuck-and-world-per.html #jira UE-36397 Change 3166824 on 2016/10/18 by Alexis.Matte Fix re-import of mesh material assignment regression #jira UE-37479 Change 3166821 on 2016/10/18 by Alexis.Matte Make sure the old asset are build correctly #jira UE-37461 Change 3166740 on 2016/10/18 by Lina.Halper Fix crash with hide name when bone buffer doesn't exist due to slave component #jira: UE-37467 Change 3166737 on 2016/10/18 by Jeff.Campeau Fix double release in PhysX if there's an exception during shutdown #jira UE-37058 Change 3166733 on 2016/10/18 by Chris.Babcock Add missing MultiviewOVR functions for Android deferred #jira UE-37401 #ue4 #android Change 3166719 on 2016/10/18 by Richard.TalbotWatkin Fixed crash when setting a closed loop on a SplineComponent with no spline points defined. #jira UE-37449 - Editor Crashes When Enabling Closed Loop on Spline in Blueprint Change 3166701 on 2016/10/18 by Daniel.Wright Call HandleLegacyMapBuildData before saving a cooked package - fixes cases where map packages get loaded in the cooker via FRedirectCollector::ResolveStringAssetReference in Core, where there is no opportunity to do post-load legacy map fixups. #jira UE-37317 Change 3166549 on 2016/10/18 by Alexis.Matte Make sure the vertex paint circle brush is display when painting #jira UE-37462 Change 3166459 on 2016/10/18 by Mitchell.Wilson Removed duplicate mapping of Gamepad_RightY for thrust in BP Flying template #jira UE-37471 Change 3166435 on 2016/10/18 by Mitchell.Wilson Cleared preview mesh on skydome materials used in ShooterGame to resolve UDK_ProceduralSky_4UVChannel warnings #jira UE-29718 Change 3166363 on 2016/10/18 by Mitchell.Wilson copied EditorPlane to UI folder of ShooterGame and named it MenuPlane. Replaced EditorPlane in ShooterEntry with MenuPlane. Rebuilt lighting for shootergame levels and added build data for each level. #jira UE-37435 Change 3166342 on 2016/10/18 by Rolando.Caloca UE4.14 - Fix for crash on splines with decals #jira UE-36864 Change 3166315 on 2016/10/18 by Ori.Cohen Implement copy and assignment operator for convexElem struct and aggregate geometry to avoid shallow copy of raw pointers. #JIRA UE-21572, UE-37429 Change 3166274 on 2016/10/18 by Peter.Sauerbrei deprecate iOS 7 and provide better messaging for the IOS versions we no longer directly support #jira UE-37034 Change 3166238 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) Copied from Dev-Sequencer CL# 3166218 #jira UE-37470 Change 3166209 on 2016/10/18 by Daniel.Lamb Fixed issue with launch on marking packages as dirty. #test Cook shooter game #jira UE-37455 Change 3165901 on 2016/10/18 by Jamie.Dale Fixed Clang error caused by missing return type #jira UE-37421 Change 3165774 on 2016/10/18 by Steve.Robb Fix for FMallocBinned::GetAllocationSize() for aligned allocations. Copied from CL# 3165739. #jira UE-37249 #jira UE-37243 Change 3165457 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. #jira UE-37420 Change 3165444 on 2016/10/17 by Max.Chen Sequencer: Fix reset view range so that it's a no-op when the range is negative. #jira UE-37412 Change 3165257 on 2016/10/17 by Keli.Hlodversson Fix crash when exiting using SteamVR if using VR controllers and launched from steam. #jira UE-37432 Change 3165225 on 2016/10/17 by Nick.Darnell Strategy Game - No longer overrides the engine default iOS build machine to use. Shooter Game - Has been upgraded to user the newer location of the DPI scale curve. #jira UE-37001 Change 3165110 on 2016/10/17 by Michael.Trepka Fixed GetPlatformLibExtension for iOS and tvOS in PhysX build script #jira UE-36939 Change 3165107 on 2016/10/17 by Mitchell.Wilson Resolve CIS content warnings in Shooter Game. #jira UE-30791 Change 3165001 on 2016/10/17 by Alexis.Matte Bump the static mesh build version to force a rebuild. #jira UE-37262 Change 3164928 on 2016/10/17 by Ben.Marsh GitHub: Allow files in /Engine/Plugins/.../Binaries/... to be distributed on GitHub. This was a hold over from the days that editor binaries used to be checked in to P4, but it's excluding plugin ThirdParty folders too. Change 3164914 on 2016/10/17 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. Copy from Dev-Sequencer #jira UE-35285 Change 3164896 on 2016/10/17 by Ben.Marsh UBT: Include all public headers and libraries when running UBT with -generateexternalfilelist, not just those referenced for external modules. This is a change in behavior, since it will cause public engine headers to be included in the target receipt, but it's reasonable behavior since they are required to build against the precompiled binaries anyway. Change 3164892 on 2016/10/17 by Jamie.Dale Fixed BPs passing a null parent when copying data, as this prevented some fix-up from happening correctly in ImportText #jira UE-36977 Change 3164886 on 2016/10/17 by Jamie.Dale Fixed issues propagating property changes when editing Blueprints - FText property changes that kept the same identity didn't used to propagate due to the CDO and instance sharing the same display string. We now import the previous value into a temporary property and use UProperty::Identical to compare the values, rather than rely on the exported text. - TMap/TSet property changes weren't being propagated at all since UI support was added. They needed to be changed to use the parent node like TArray property changes do. - TSet property exporting would produce "()" for both an empty set, and a set containing a single empty FString/FName. This confused the property import, and caused the UProperty::Identical to fail. We now make sure that FString/FName properties correctly honor the PPF_Delimited when dealing with empty values. #jira UE-36977 Change 3164884 on 2016/10/17 by Jamie.Dale We now re-key text when it moves into a new package (with a valid package localization ID) to avoid identity conflicts when instancing in the editor #jira UE-36977 Change 3164843 on 2016/10/17 by Ben.Marsh UBT: Restore support for generating multiple project file types at once. Move the XML config setting for overwriting the type of project files to generate into a an option specific to Visual Studio, under <VCProjectFileGenerator>/<Version>. #jira UE-37386 Change 3164823 on 2016/10/17 by Daniel.Lamb Fixed warning about shader compiler stalling. #test Cook Shootergame #jira UE-37393 Change 3164805 on 2016/10/17 by Alexis.Matte Remove the skinxx import workflow for static mesh #jira UE-37262 Change 3164803 on 2016/10/17 by Mitchell.Wilson Rebuilt lighting on all template projects #jira UE-37317 Change 3164775 on 2016/10/17 by Matt.Kuhlenschmidt Fixed Editing InlineEditConditionToggle variable inside a blueprint causing the editor to crash #jira UE-37029 Change 3164737 on 2016/10/17 by Matt.Kuhlenschmidt Fixed crash debugging blueprints in a networked game session - Eliminated pointless assert that in no way was necessary to crash the users game and moved the disabling of realtime viewports until after routing BeginPlay is complete. This ensures any debugger windows that appear during BeginPlay have realtime disabled by default. #jira UE-37360 Change 3164711 on 2016/10/17 by Chris.Wood Added char limit to user description in Crash Report Client [UE-37377] - Limit description field size in Crash Report Client #jira UE-37377 Change 3164706 on 2016/10/17 by Alexis.Matte Fix fbx scene re-import of staticmesh loosing there materials #jira UE-37032 Change 3164688 on 2016/10/17 by Matt.Kuhlenschmidt Fixed incorrect selection borders appearing if an object was duplicated and then undone and redone #jira UE-37300 Change 3164686 on 2016/10/17 by Alexis.Matte Remove unwanted re-import setting option in both mesh editor. #jira UE-36640 Change 3164622 on 2016/10/17 by Dan.Oconnor Duplicating 3153975 and 3155758 in 4.14 #jira UE-36938 Change 3164620 on 2016/10/17 by Robert.Manuszewski UE4 - Critical fix for task graph memory leak. (re-implementing CL #3159689 by Gil.Gribb) #jira UE-37382 #fyi Gil.Gribb Change 3164557 on 2016/10/17 by Mitchell.Wilson Rebuilt lighting in code and bp first person template. #jira UE-37317 Change 3164370 on 2016/10/17 by Chris.Wood Fix broken application path in Crash Report Client app restart code. [UE-36429] - Send and Restart from Crash Reporter does nothing #jira UE-36429 Change 3164329 on 2016/10/17 by Dmitriy.Dyomin Fixed: Shader compile error using Point Lights Nvidia Shield #jira UE-25671 Change 3164219 on 2016/10/16 by Max.Chen Fix CDO Constructor errors Copy from Dev-Sequencer #jira UE-36787 Change 3164173 on 2016/10/16 by Zachary.Wilson Submitting testing content for Reduced Lightmap Mixing and updating TM-Reflections #jira UE-29618 Change 3164171 on 2016/10/16 by Benjamin.Hyder Re-Saving TM-Noise to update camera position #jira UE-29618 Change 3164169 on 2016/10/16 by Benjamin.Hyder Updating TM-Noise map to include VectorVoronoi noise material #jira UE-29618 Change 3164022 on 2016/10/15 by zachary.wilson Adding testing content for material optimizations, attribute blend node, and preskinned loc pos node #jira UE-29618 Change 3163970 on 2016/10/15 by Benjamin.Hyder updating shading model for skeletal mesh example in TM-SSS_Fullres #jira UE-29618 Change 3163961 on 2016/10/15 by Benjamin.Hyder adding animated skeletal mesh example to TM-SSS_Fullres #jira UE-29618 Change 3163958 on 2016/10/15 by Benjamin.Hyder adding diffuse example to TM-SSS_Fullres #jira UE-29618 Change 3163728 on 2016/10/14 by Tyler.Cole Prep build scripts for WEX MCP in UE4 Release-4.14 stream. #jira NONE-0 Change 3163718 on 2016/10/14 by Tyler.Cole Prep build scripts for Ocean MCP in UE4 Release-4.14 stream. #jira NONE-0 Change 3163715 on 2016/10/14 by Tyler.Cole Prep build scripts for Fortnite MCP in UE4 Release-4.14 stream. #jira NONE-0 Change 3163711 on 2016/10/14 by Tyler.Cole Prep build scripts for Orion MCP in UE4 Release-4.14 stream. #jira NONE-0 Change 3163698 on 2016/10/14 by Michael.Trepka Fixed a CoreAudio crash on unpause #jira UE-37126 Change 3163534 on 2016/10/14 by Matt.Kuhlenschmidt Disable versioning info in project badge by default #jira UE-37335 Change 3163485 on 2016/10/14 by Michael.Trepka Add one more RPATH entry on Mac to support launching staged builds #jira UE-36799 Change 3163479 on 2016/10/14 by Michael.Trepka A couple of changes to prevent Mac app bundles from modifying their content for compatibility with the Mac App Store #jira UE-25742 Change 3163465 on 2016/10/14 by Daniel.Lamb Fix issue with cook command from editor was trying to package also. #test Cook command in editor #jira UE-36796 Change 3163455 on 2016/10/14 by Matt.Kuhlenschmidt Fixed selected section highlight and vertex color view modes not working. #jira UE-37308 Change 3163450 on 2016/10/14 by Mike.Beach Fixing up more Fortnite CIS warnings that were exposed by recent Dev-BP fixes - removing unnecessary cast operation in Mission_Outpost. #jira UE-37055 Change 3163400 on 2016/10/14 by Benjamin.Hyder Updating Lighting setttings inTM-SSS_Fullres #jira UE-29618 Change 3163392 on 2016/10/14 by Benjamin.Hyder Creating TM-SSS_Fullres test map and importing 4k skin diffuse and bump materials #jira UE-29618 Change 3163336 on 2016/10/14 by Mike.Beach Fixing up more Fortnite CIS warnings that we're exposed by a recent change from Dev-BP - replacing deprecated ClearTimerByHandle calls with ClearAndInvalidateTimerByHandle. #jira UE-37055 Change 3163335 on 2016/10/14 by Max.Chen Sequence Recorder: Disable auto possess player for recorded pawns. This fixes a bug where if you record a third person template character, when you open the sequence, the recorded character will possess the viewport. Copy from Dev-Sequencer #jira UE-35342 Change 3163230 on 2016/10/14 by Richard.TalbotWatkin Duplicated from //UE4/Release-4.13, CL 3111897 When doing a full geometry rebuild, force the level model's poly linkage to be reinitialized, so that coplanar surfaces can be correctly linked. This fixes a regression following the separation of FPoly::iLink and FPoly::iLinkSurface. #jira UE-35482 - Selecting a brush surface that is flush with other brush surfaces selects all of them after Building Geometry #jira UE-35999 - Additive BSP Selections Acting Grouped after Building Geometry #jira UE-37340 - Selecting Geometry objects selects multiple brushes after Building Change 3163155 on 2016/10/14 by Benn.Gallagher Fixed crash when changing scene settings an hitting undo in Persona with complex cloth active #jira UE-37332 Change 3163146 on 2016/10/14 by Marc.Audy Properly add/remove wind sources when activated/deactivated #jira UE-37289 Change 3163135 on 2016/10/14 by Phillip.Kavan [UE-35259] Fix AddComponent node-instanced Blueprint components finding the wrong archetype (template basis) in some scenarios. Mirrored from CL# 3160052 (//UE4/Dev-Blueprints). Additional changes (for release branch): - Bumped ReleaseObjectVersion to limit fixup code to only BP assets that existed prior to this change. #jira UE-35259 Change 3162999 on 2016/10/14 by Ben.Marsh QFE: Fix writing output files if they don't already exist, and bump version number to 4.14. Change 3162988 on 2016/10/14 by Thomas.Sarkanen Fix socket editing on meshes Feature was inadvertently removed with the Persona refactor. #jira UE-37313 - Create Mesh Socket is missing Change 3162938 on 2016/10/14 by Ben.Zeigler Merging CL 3162934 to //UE4/Release-4.14 #jira UE-37044 Fix crash when loading map that has null actors in the actor list Change 3162900 on 2016/10/14 by Dmitriy.Dyomin Fixed: Android should use single channel texture for ShadowMaps instead of 4 channel #jira UE-37312 Change 3162864 on 2016/10/14 by Yannick.Lange VR Editor: - Fix Landscape Undo/Redo functions step-by-step #jira UE-37050 - Fix Landscape is sculpting twice if both Motioncontrollers are aimed at landscape #jira UE-37272 #jira UE-37050 #jira UE-37272 Change 3162761 on 2016/10/14 by Jack.Porter Fixed landscape Undo crash after using Move-To-Level tool and then selecting a landscape proxy in the sublevel #jira UE-36863 Change 3162724 on 2016/10/14 by Max.Chen Sequencer: Fix time dilation in level sequence player Copy from Dev-Sequencer #jira UE-37277 Change 3162617 on 2016/10/13 by Jeff.Campeau Fix Windows XP compilation issues. - Block Win10 SDK includes - Remove unused Win10 SDK path collecting - Fix extraneous includes - Add 32b atomic option for certain stats #jira UE-36909 Change 3162503 on 2016/10/13 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) Merged from Dev-Sequencer CL# 3160995 #jira UE-37248 Change 3162470 on 2016/10/13 by Mitchell.Wilson Rebuilt lighting and saved levels in StrategyGame. #jira UE-36913 Change 3162466 on 2016/10/13 by Michael.Trepka By default, do not compile Mac OpenGL and Metal SM4 shaders while cooking #jira UE-37088 Change 3162458 on 2016/10/13 by Keli.Hlodversson When quitting from the SteamVR menu overlay, in addition to shutting down the VR subsystem, also exit the game (and preview when running inside the editor) #jira UE-37292 Game does not exit when exited through SteamVR UI Change 3162421 on 2016/10/13 by Mitchell.Wilson Rebuilt lighting and resaved levels in SunTemple, Zen Garden, and Mobile Starter content. #jira UE-36913 Change 3162420 on 2016/10/13 by Marc.Audy Clear BlueprintCreatedComponents in PostEditUndo since it is non transactional and expected to be empty #jira UE-37071 Change 3162406 on 2016/10/13 by Ben.Marsh Simplygon: Disable compiling Simplygon for installed builds if the required headers aren't there. Fixes creating installed builds for licensees. #jira UE-37269 Change 3162382 on 2016/10/13 by Ben.Marsh UAT: Fix accessing uninitialized UBT variable at startup, causing build warnings. Change 3162314 on 2016/10/13 by Ben.Marsh Add PhysX build job to 4.14 branch. Change 3162311 on 2016/10/13 by Matt.Kuhlenschmidt Ensure FBX scene import data object is not garbage collected during import #jira UE-35606 Change 3162270 on 2016/10/13 by Ben.Marsh UBT/Editor: Improved integration for Visual Studio "15". * Added editor source code accessors for specific Visual Studio versions (2013, 2015, "15"), which call through to the default Visual Studio accessor but allow specifying a more specific setting for which IDE to use. * UBT reads this setting, and will generate project files for the preferred Visual Studio version if set. * Added a BuildConfiguration.xml setting to set which type of project files to generate - under the <ProjectFileGenerator> element, add a <Type> property taking values of Make/CMake/QMake/KDevelop/CodeLite/VisualStudio/VisualStudio2012/VisualStudio2013/VisualStudio2015/VisualStudio2017/XCode. * Added an separate editor setting for the Windows target platform controlling which compiler to use, separately from the IDE. This setting can also be set via <WindowsPlatform> <Compiler> element in BuildConfiguration.xml. * Removed compiler argument from generated project files (this should now persist via INI files or XML config) * Removed compiler argument being appended to UBT when doing hot reload (should pick this up from the build environment instead) * Added support for enums in UBT XML configs * Fixed a few version checks against exact compiler versions - MS plan is give VS '15' updates version numbers 1911, 1912, etc... #jira UE-37176 #jira UE-36872 Change 3162236 on 2016/10/13 by Mike.Beach Fixing a GLEO that could occur after compiling a component Blueprint (preventing you from saving other Blueprints that use that component) - using the authratative class in AddComponent node reconstruction (for the output pin) so that it doesn't end up referencing the REINST class. #jira UE-37224 Change 3162225 on 2016/10/13 by Alex.Delesky #jira UE-36995 - Precise click should now work correctly with buttons that are children of a scroll list. Also addresses #jira UE-37250 and PR #2859 (#git author aarmbruster andrew.armbruster@gmail.com) Change 3162107 on 2016/10/13 by Matt.Kuhlenschmidt Prevent perforce branch stuff from appearing in edtior project badge. This feature was meant for those compiling on perforce builds. #jira UE-37278 Change 3162060 on 2016/10/13 by Matt.Kuhlenschmidt Fix mac build #jira UE-36885 Change 3162025 on 2016/10/13 by Daniel.Wright Compile fix #jira UE-37246 Change 3162009 on 2016/10/13 by Daniel.Wright [Copy] Fixed movable lights getting assigned a shadowmap channel #jira UE-37246 Change 3161963 on 2016/10/13 by Jon.Nabozny Enable PrimaryActorTick.bCanEverTick in necessary Samples. The seperation of GameMode caused different behavior, since GameModeBase has tick disabled by default (which is set in AInfo). #jira UE-36888 Change 3161896 on 2016/10/13 by Matt.Kuhlenschmidt Added guard and more logging for crash when reimporting textures #jira UE-37263 Change 3161865 on 2016/10/13 by mason.seay Making the name more user friendly for test asset #jira UE-29618 Change 3161855 on 2016/10/13 by Matt.Kuhlenschmidt Fixed keybindings not working with editor settings search and regressions where you could not import,export,or reset keybindings to default - Made the keybindings setting a proper developer settings object #jira UE-36885 Change 3161854 on 2016/10/13 by Daniel.Wright [Copy] Fixed level getting added to the dirty list twice when legacy lightmaps are present #jira UE-37204 Change 3161743 on 2016/10/13 by Lauren.Ridge Setting RenderTarget in OculusRiftRender.cpp to fix ensure when entering VR editing mode on Oculus Rift #jira UE-37245 Change 3161694 on 2016/10/13 by Michael.Dupuis #jira UE-37001 Perform manual migration of UICurve to proper config category Change 3161689 on 2016/10/13 by Thomas.Sarkanen Fixed failing detachment automation test The issue was not the attachment itself, but rather the test setup conditions being different to what was expected, give that setting an actor's rotation with a quaternion doesnt always return the same value as the one that is set. #jira UE-37160 - Detachment automation tests failing Change 3161685 on 2016/10/13 by mason.seay Test content for retargeting animation #jira UE-29618 Change 3161423 on 2016/10/13 by Jamie.Dale Split localized package redirection out of FCoreDelegates::PackageNameResolvers They're different enough in behavior that the delegate resolution was breaking the localized package resolution by resolving in too many places and causing the localized package to be loaded with its real localized name as well as the fake non-localized name. #jira UE-37119 Change 3161394 on 2016/10/13 by Mitchell.Wilson Replaced deprecated blueprint node with GrabComponentAtLocation to resolve warnings. #jira UE-37256 Change 3161363 on 2016/10/13 by Jamie.Dale Fixing mangled English translations #jira UE-36128 Change 3161319 on 2016/10/13 by Benn.Gallagher Fixed crash when forcing ref pose during anim blueprint initialization when using sub anim instances #jira UE-37254 Change 3161310 on 2016/10/13 by Martin.Wilson Fix crash retargetting AnimBP with "Allow remapping to existing assets" enabled #jira UE-35149 Change 3161303 on 2016/10/13 by Jurre.deBaare Crash when using merge actor on static meshes that have been affected by simplygon #fix Set whether or not a LOD is eligible for exporting by determining if it contains valid LOD data #jira UE-36880 Change 3161166 on 2016/10/13 by Jack.Porter Prevent Launch On prompting to save a freshly-opened, non-modified map while still prompting the user to save never-saved maps #jira UE-37131 Change 3161161 on 2016/10/13 by Thomas.Sarkanen Fixed override materials hanging around when setting skeletal meshes #jira UE-37102 - On switching an anim blueprints preview mesh the skeletal mesh is not switched but the materials are Change 3161160 on 2016/10/13 by Thomas.Sarkanen Fix crash changing preview skeletal mesh with bone selected Make sure to keep BonesOfInterest and the preview scene selected bone in sync. Also make sure to only use one so we wont suffer this again if we inteodiuce any inconsistencies in the future. #jira UE-37081 - If a bone is selected when switching preview skeletons the editor will crash Change 3160882 on 2016/10/12 by Mike.Beach Mirroring CL 3158790 from Dev-BP Fixing an issue with ctrl pin dragging, where marco nodes' connections would disappear - the SGraph drag operation now references pins by handles (so it can account for reconstructed nodes during the operation). #jira UE-37033 Change 3160863 on 2016/10/12 by Lauren.Ridge Changing VR Editor delete function to go through the standard delete pathway so FEdModeMeshPaint has a chance to handle it #jira UE-35685 Change 3160855 on 2016/10/12 by Jeff.Campeau Fix WinXP compile issues caused by WebSocket, SteamVR, and Oculus changes. #jira UE-36909 Change 3160844 on 2016/10/12 by Marcus.Wassmer Duplicate PR #2855: Ansel plugin fixes (Contributed by adamnv) #jira UE-37162 Change 3160749 on 2016/10/12 by Daniel.Wright [Copy] Legacy lightmaps are renamed with the world that uses them. Fixes 'graph linked to external object' when renaming a map in the content browser. #jira UE-37231 Change 3160748 on 2016/10/12 by Daniel.Wright [Copy] Lightmap textures are now outered to UMapBuildDataRegistry so that the UMapBuildDataRegistry can be moved in the content browser #jira UE-37231 Change 3160747 on 2016/10/12 by Daniel.Wright [Copy] Legacy MapBuildDataRegistry objects are no longer public so they don't get shown in the content browser, prevents users trying to move them. #jira UE-37231 Change 3160727 on 2016/10/12 by Mitchell.Wilson Updating minimum iOS version to iOS 8 for all samples and templates #jira UE-37022 Change 3160655 on 2016/10/12 by Chad.Taylor Merging VR loading screen fixes from Dev-VR #jira UE-36741 Change 3160643 on 2016/10/12 by Keli.Hlodversson Ensure that the DebugConsoleObject's width is reset to the width of the left eye view before rendering the console when doing stereoscopic rendering. #jira UE-36440 Change 3160641 on 2016/10/12 by Mike.Beach Fixing up Fortnite CIS warnings that we're exposed by a recent change from Dev-BP - replacing deprecated ClearTimerByHandle calls with ClearAndInvalidateTimerByHandle. #jira UE-37055 Change 3160572 on 2016/10/12 by Matt.Kuhlenschmidt Missed change from CL 3159889 #jira UE-35503 Change 3160518 on 2016/10/12 by Ryan.Gerleve Fix assert when adding a new sublevel. #jira UE-37148 Change 3160439 on 2016/10/12 by Ben.Marsh Fix support for Visual Studio "15" preview 5. #jira UE-37227 Change 3160363 on 2016/10/12 by Daniel.Lamb Fix for skip editor content flag being passed throught o UAT. #jira UE-37223 Change 3160277 on 2016/10/12 by Mieszko.Zielinski Manually recreated CL#3159909 #UE4 Original comment: --- Added sanity-checkes to access to UNavigationSystem::NavDataSet elements #UE4 Lack of those test has been reported licencees as source of some crashes #jira UE-37209 Change 3160120 on 2016/10/12 by Chris.Babcock Fix x86 and x86_64 libpng libraries for Android #jira UE-37192 #ue4 #android Change 3160080 on 2016/10/12 by Matthew.Griffin PR #2840: UE-36945: Set exe icon properly in packaged Windows games (Contributed by projectgheist) #jira UE-36945 Change 3160063 on 2016/10/12 by Gareth.Martin Fixed crash trying to edit landscape with r.LightPropagationVolume=1 enabled #jira UE-36933 Change 3160045 on 2016/10/12 by Ryan.Gerleve Fix some issues with manipulating sublevels in the editor. #jira UE-36901, UE-36932 Change 3160044 on 2016/10/12 by Gareth.Martin Fix condition on BuildTree in UHierarchicalInstancedStaticMeshComponent::Serialize - This should fix the crash that caused it to be commented out #jira UE-37152 Change 3160032 on 2016/10/12 by Matt.Kuhlenschmidt Fixed arrays inside structs, inside arrays not refreshing when an element is added or removed refresh #jira UE-36985 Change 3159965 on 2016/10/12 by Ben.Zeigler #jira UE-37170 Fix crash when spawning PlayerController with a null CheatClass, this now just skips spawning the cheat manager Change 3159957 on 2016/10/12 by Robert.Manuszewski Making FindShaderResourceById and FindShaderById return a raw pointer instead of TRefCountPtr (basically undoing CL #2538774) to prevent creating temporary TRefCountPtrs. It's no longer necessary to use TRefCountPtrs as shader serialization has changed (CL #2989898) and shaders are no longer registered on the async loading thread. #jira UE-35570, UE-35511, UE-35570, UE-35924 Change 3159921 on 2016/10/12 by Matthew.Griffin Duplicating CL#3153485 from Dev-Build Removed GUBP from Automation Tool Mono solution Change 3159919 on 2016/10/12 by Matthew.Griffin Duplicating CL#3150017 from Dev-Build Fixes for PS4 deployment suggested in UDN post: https://udn.unrealengine.com/questions/314055/issues-with-ps4platformautomationcs.html Change 3159904 on 2016/10/12 by Matt.Kuhlenschmidt Fix regression where toggling Play/Pause in PIE would not give the mouse back to the game #jira UE-37112 Change 3159903 on 2016/10/12 by Ben.Zeigler #jira UE-37163 Activate auto activate components immediately when registering in an editor world, the initialize call will never actually happen Change 3159890 on 2016/10/12 by Matt.Kuhlenschmidt Prevent crashes when a keybinding to start and stop PIE is toggled repeatedly. #jira UE-36814 Change 3159889 on 2016/10/12 by Matt.Kuhlenschmidt Fixed part of the details panel UI showing up when there is nothing in the details panel. This was causing crashes when clicking on those parts of the UI #jira UE-35503 Change 3159888 on 2016/10/12 by Ben.Zeigler #jira UE-36849 DataTable::LoadStructData allocating wrong size Fix cases that were using the PropertiesSize to malloc a UStruct to instead use GetStructureSize(). There is a difference because of alignment, so on some platforms it was corrupting memory Change 3159887 on 2016/10/12 by Matt.Kuhlenschmidt Guard against crash in Fcanvas drawing #jira UE-36496 Change 3159886 on 2016/10/12 by Ben.Zeigler #jira UE-36884 Stop savepackage from making dependencies on PendingKill objects, because those will not actually be saved #jira UE-36876 Fix it so savepackage doesn't try to strip ClientOnly objects when cooking for a client+server config, we only want to strip if both flags are set. Re-enable warning I disabled Fix crashes when running EDL cooked builds. This is not a new bug, but fortnite content changes exposed it Fix it so pending kill component templates do not end up in import table, they will fail to import Fix it so when marking an inheritable component template as unnecessary it also marks it pending kill. This fixes it so if GetArchetype will not return an orphaned, non-saving component as the archetype for a grandchild blueprint Change 3159885 on 2016/10/12 by Matthew.Griffin Duplicating CL#3149950 from Dev-Build to include .tps files in the installed build Including source for additional programs to Installed Build #jira UE-36668 #jira UE-37072 Change 3159853 on 2016/10/12 by Matthew.Griffin Duplicating CL#3148611 from Dev-Build Added list of Dependant modules to EULA check #jira UE-29432 Change 3159385 on 2016/10/11 by Nick.Shin make emscripten for physx use gMask like windows and xbox does emsdk doesn't like: union { U32 u; F32 f; } bla; it seems, floats are 64 bits on browsers... stream: release-4.14 #jira UE-36916 //UE4/Main: Step 'Compile UE4Game HTML5' - 50 Warnings Change 3159384 on 2016/10/11 by Nick.Shin manually submitting HTML5 PhysX libs recompiled to fix the NaN warnings stream: Release-4.14 #jira UE-36916 //UE4/Main: Step 'Compile UE4Game HTML5' - 50 Warnings Change 3159210 on 2016/10/11 by Ben.Marsh Set the default for the BRANCH_NAME macro to the escaped 4.14 branch. [CL 3175266 by Matthew Griffin in Main branch]
2016-10-26 14:33:35 -04:00
HandleFrames = 0;
GameModeOverride = nullptr;
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2859626 on 2016/02/08 by Max.Preussner Editor: Added SaveAs functionality to content asset editors Change 2859666 on 2016/02/08 by Max.Chen Sequencer: Fix crash in CheckForWorldGCLeaks when loading a new map because spawnables are left behind. #jira UE-25616 Change 2859685 on 2016/02/08 by Max.Chen Sequencer: Add prompt to save sub level sequences if they are dirty #jira UE-26510 Change 2859715 on 2016/02/08 by Thomas.Sarkanen Adding actor spawning recording Actors are queued for record on spawn then added to the list like manually-specifed ones. Changed almost everything about UActorRecording. We now record on a per-component basis, with property tracks encapsulated in each actor recording. Much effort is expended to make sure that the correct components are owned by their respective actors, as we can add and remove components at runtime, but they must be created up-front in the UMovieScene Blueprints. We go as far as to add our own SCS nodes to make sure components are correctly spawned. Fixed infinite loop in FSequencer::AddSpawnable. Fixed visibility track instance to work with scene components as well as actors. Fixed particle track instance to work on UParticleSystemComponent rather than just AEmitters. Added particle recorder. Moved animation recording into an animation property recorder rather than having it as a special case. This still uses the animation recorder under the hood. Moved old-style Matinee animation control into FMovieSceneSkeletalAnimationTrackInstance & made this work on USkeletalMeshComponents directly, rather than via the old interface. Exposed SetMatineeAnimPositionInner and PreviewMatineeSetAnimPositionInner in FAnimMontageInstance so those utility functions can be used externally to Engine. Added a predicate version of UMovieScene::FindPossessable. Exposed UMovieSceneParticleSection::AddKey externally via MOVIESCENETRACKS_API so I can programmatically add keys. Fixed a crash in FScalableFloatDetails::CustomizeHeader when selecting PIE projectiles in Orion. Moved all recorders over to recording Actors or Components & store UObjects instead of AActors. Allowed skeletal animation tracks on components as well as actors. Change 2862675 on 2016/02/10 by Max.Chen Sequencer: Add option to link the sequencer curve editor with the sequencer timeline. Under General Options->Link Curve Editor Time Range. The default is false, so the sequencer and curve editor have separate time ranges. #jira UE-25933 Change 2862699 on 2016/02/11 by Max.Chen Sequencer: Added a playback status of jumping which the AudioTrack and Skeletal Mesh Track (anim notifies) ignores for updates. This is used to updating thumbnail at certain times. #jira UE-26447, UE-26671 Change 2862712 on 2016/02/11 by Max.Chen Sequencer: Fix spawnables firing off their particles. Disable auto activate on spawnable components #jira UE-26390 Change 2862719 on 2016/02/11 by Max.Preussner Editor: Refactored detail customizations for colors, rotators, vectors - broke color and rotator customizations out into their own files - added vector customizations (placeholder) - cleaned up localization namespaces, forward declarations Change 2866454 on 2016/02/14 by Max.Preussner Sequencer: Removed ULevelEditorSequencerSettings; moved default settings into INI Change 2866455 on 2016/02/14 by Thomas.Sarkanen Sequence recorder can now record replays Added extra edtior-only UI to the replay playback controls to record sequences. Curretnly very placeholder: only records the entire sequence and provides no feedback in the UI if it is recording. Fixed bindings to recorded objects not working in various circumstances. Added the ability to manually create a binding. Recompiled actor blueprints post-record if we added components. Fixed a null ptr dereference in FOrionTeamUIInfo::Update. Removed tolerances when reducing tracks - they are now 'very small'. Added actor filter so actors of certain classes can be recorded. Change 2866458 on 2016/02/14 by Max.Chen Sequencer: Fix anim notifies that fire at shot cuts. Anim notifies are fired from the last position to the current position. When jumping cuts, we want the delta to be 0 so that the anim notifies before the shot are not fired off. #jira UE-26390, UE-26671 Change 2866459 on 2016/02/14 by Max.Chen Sequencer: Add option to toggle visibility of combined keys Change 2866466 on 2016/02/14 by Frank.Fella Sequencer - Add a track for controlling streamed level visibilty and remove visibility code from the master level blueprint. Change 2866470 on 2016/02/14 by Max.Chen Sequencer: Add return value to indicate data has changed when a section has been added. This fixes a bug where creating a new section doesn't seem to add a key. #jira UE-26837 Change 2866481 on 2016/02/14 by Max.Preussner Sequencer: Implemented Presets for adding tracks automatically based on actor type (UE-24513) #Jira: UE-24513 Change 2866482 on 2016/02/14 by Max.Chen Sequencer: Allow for any actor that has a camera component to be a camera cut. #jira UE-26777 Change 2866484 on 2016/02/14 by Thomas.Sarkanen Added in/out times to sequence recording Also added the optional ability to record different actor types (heroes, projectiles, minions). Change 2866495 on 2016/02/14 by Max.Chen Sequencer: Need to limit camera control to the section bounds of the camera cut otherwise, control won't be relinquished back to player at the end of the playback. #jira UE-26886 [CL 2874647 by Max Chen in Main branch]
2016-02-19 21:36:27 -05:00
OutputFormat = TEXT("{world}");
bUseCustomFrameRate = false;
CustomFrameRate = FFrameRate(24, 1);
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
FrameRate = FFrameRate(24, 1);
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
ZeroPadFrameNumbers = 4;
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
bEnableTextureStreaming = false;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
bCinematicEngineScalability = true;
bCinematicMode = true;
bAllowMovement = false;
bAllowTurning = false;
bShowPlayer = false;
bShowHUD = false;
bUsePathTracer = false;
PathTracerSamplePerPixel = 16;
#if PLATFORM_MAC
MovieExtension = TEXT(".mov");
#elif PLATFORM_UNIX
MovieExtension = TEXT(".unsupp");
#else
MovieExtension = TEXT(".avi");
#endif
}
UMovieSceneCapture::UMovieSceneCapture(const FObjectInitializer& Initializer)
: Super(Initializer)
{
TArray<FString> Tokens, Switches;
FCommandLine::Parse( FCommandLine::Get(), Tokens, Switches );
for (auto& Switch : Switches)
{
InheritedCommandLineArguments.AppendChar('-');
InheritedCommandLineArguments.Append(Switch);
InheritedCommandLineArguments.AppendChar(' ');
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3048536) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3004054 on 2016/06/07 by Max.Chen Movie Capture: Expose compressed EXR frames to Sequencer Capture UI and command line. Change 3007048 on 2016/06/09 by Max.Chen Sequencer: Allow showing the context menu for more than one selected node. Certain operations (ie. Lock, Active, Label) now operate on all the selected nodes. #jira UE-31762 Change 3007795 on 2016/06/09 by Max.Chen Sequencer: Select actors for corresponding selected keys or sections. #jira UE-30727 Change 3009689 on 2016/06/10 by Max.Chen Movie Capture: Add {shot} description to movie capture filename format. Change 3010180 on 2016/06/11 by Max.Chen Sequencer: Add support for copying and converting linear color tracks from matinee. #jira UE-31260 Change 3012472 on 2016/06/14 by Max.Chen Sequence Recorder: Optimize adding keys to rich curves. Set the times and values at once as an ordered set. Change 3012473 on 2016/06/14 by Max.Chen Sequence Recorder: Find corresponding PIE world actor for Actor to Record. This fixes a bug where if you set the actor before PIE and then record, the recording doesn't work. Change 3012474 on 2016/06/14 by Max.Chen Sequence Recorder: Fix countdown timer so that it draws in Simulate mode as well as Play. #jira UE-31630 Change 3014868 on 2016/06/15 by Max.Chen Sequencer: For legacy, properties with the CPF_Interp flag can be animated in Matinee. It doesn't require the CPF_Edit flag as well. This makes Sequencer consistent with Matinee. #jira UE-32067 Change 3014869 on 2016/06/15 by Max.Chen Sequencer: Rename "Expose to Matinee" to "Expose to Cinematics" #jira UE-31500 Change 3016137 on 2016/06/16 by Max.Chen Sequencer: Added support for the named "PerformanceCapture" event which like Matinee, calls GEngine->PerformanceCapture to output a screenshot when the event fires. Refactor event track/sections so that the player is passed to the trigger events evaluation. #jira UE-32093 Change 3018996 on 2016/06/18 by Max.Chen Sequencer: Add play/pause/stop events to level sequence player ala matinee actor. #jira UETOOL-899 Change 3019763 on 2016/06/20 by Max.Chen Sequencer: Fix key editor commit when user tabs away (lose focus). Also, make the key navigation buttons and track color button not focusable. Slate: Make editable labels not focusable if they are not editable. #jira UE-24566, UE-31913 Change 3019768 on 2016/06/20 by Max.Chen Sequencer: Event track no longer fires if the playback status is stopped. This fixes a bug where when playback is stopped and the movie scene sequence is returned to the start of playback, we don't want all the events from the last playback position to the start of playback to fire. #jira UE-31494 Change 3020849 on 2016/06/21 by Andrew.Rodham Sequencer: Fixed blueprint classes as spawnables not being reinstanced correctly - The RF_ArchetypeObject flag was previously used to denote spawnable object templates, however this caused blueprint reinstancing to skip such objects, which resulted in crashes, or data loss - Added code to rename expired object templates to ensure there is no name collision - Ensured that register functions are only called on actors that are part of a world (when finalizing blueprint reinstancing) #jira UE-31637 Change 3021400 on 2016/06/21 by Frank.Fella Sequencer - Add support for exporting to fbx. Change 3022941 on 2016/06/22 by Andrew.Rodham Sequencer: Thumbnail improvements - Fixed poor performance when continually zooming (thumbnails were being constantly and immediately rendered in this case) - Added quality setting to thumbnail sections (draft/normal/best) - Improved fade transition to use proper alpha blending - Fixed needlessly recreating the entire world's render state when creating a new editor viewport client. This caused a significant hitch opening sequences in certain large worlds. #jira UE-31264 Change 3022944 on 2016/06/22 by Andrew.Rodham Sequencer: Fixed jitter when jumping around - bEditorCameraCut was not being reset on the next frame, which prevented temporal effects from running Change 3024774 on 2016/06/23 by Max.Chen Sequencer: Cache show intensity to invalidate the waveform preview when the intensity changes. #jira UE-32385 Change 3026170 on 2016/06/24 by Max.Chen Sequence Recorder: Change Actor Name to Record to a TLazyObjectPtr<AActor> so that the user can choose the actor directly rather than typing in a name. Change 3026181 on 2016/06/24 by Max.Chen Sequencer: Add visibility options to show/hide/only when selected 3d trajectories per transform section. #jira UE-31814 Change 3026489 on 2016/06/24 by Andrew.Rodham Sequencer: Fixed some recorded actors not being saved into level sequences correctly - The use of StaticDuplicateObject was causing temporary/transient or otherwise external data to be duplicated into template actors which caused the actor to be culled on package save. - Using NewObject followed by copying the object properties guarantees we don't copy this data. - This is the same method used to spawn the spawnable actor Change 3026522 on 2016/06/24 by Max.Chen Sequence Recorder: Fix bug where sample rate wouldn't get set if the length is set to 0. #jira UE32430 Change 3027768 on 2016/06/25 by Max.Chen Sequencer: Fix player stopping after 60 seconds. Assign the player to a UPROPERTY so that it's not garbage collected. #jira UE-32420 Change 3028318 on 2016/06/27 by Andrew.Rodham Editor: Added safety check to prevent stack overflow populating the world outliner - It was possible for the population code to get stuck in an infinite loop if an actor happened to be attached to itself. #jira UE-30914 Change 3034262 on 2016/06/30 by Andrew.Rodham Sequencer: Fixed invalid properties being recorded when creating spawnable object templates - When creating a spawnable out of an attached actor, the attachment was getting copied into the template. This results in GLEO errors when saving the package. - Suppressed object replacement notifications when calling CopyPropertiesForUnrelatedObjects for spawnables Change 3035168 on 2016/06/30 by Max.Chen UMG: Set anim range to the playback range size. This fixes a bug where animation doesn't play the full length of the playback range if it starts negative. #jira UE-32066 Change 3035169 on 2016/06/30 by Max.Chen Sequencer: Add ReversePlay() and ChangePlaybackDirection() functions (ala Matinee). #jira UE-21259 Change 3035174 on 2016/06/30 by Max.Chen Sequencer: Fix evaluation when playback starts or loops around so that last time is enforced to be the lower bound of the playback range. This fixes a bug in the particle track where if there's a particle that triggers at time 0 and a level sequence that starts at time 0, the event will be missed since last time will be 0 but then rounded to a fixed frame with epislon .0001f. #jira UE-32606 Change 3035186 on 2016/06/30 by Max.Chen Sequencer: Add reset selection range and remove unused delete selection range. #jira UE-32666 Change 3035197 on 2016/07/01 by Max.Chen Sequencer: Fix so that adding a sub section adds to the clicked on sub track and not just the first. #jira UE-32665 Change 3036586 on 2016/07/02 by Max.Chen Sequencer: More play controls - shuttle backward, pause, shuttle forward (j, k, l) #jira UE-27539, UE-31424 Change 3036941 on 2016/07/04 by Andrew.Rodham Sequencer: Record transforms in world space where an actor is attached, and we're not recording its parent Change 3039290 on 2016/07/06 by Andrew.Rodham Sequencer: Various capture fixes - Movie captures no longer crash when no world is loaded (they gracefully close instead) - Currently waiting on change from core to hook up the error code with an actual process termination code - We now force -NoLoadingScreen, -Windowed and -ForceRes since movie captures will not work without these #jira UE-32802 Change 3039831 on 2016/07/06 by Frank.Fella Sequencer - Notify data changed refactor. + Add a change type to "NotifyMovieSceneDataChanged" so that sequencer knows what parts of the system to refresh. + Remove most calls for UpdateRuntimeInstances and replace them with a call to NotifyMovieSceneDataChanged. + Update UMG so that it copies the animation data to the compiled class whenever it's changed. #jira UE-29955 Change 3044087 on 2016/07/10 by Max.Chen Sequencer - Prevent crashes when encountering filler shots with no valid sequence. Change 3044151 on 2016/07/10 by Max.Chen Sequencer: Only update selected nodes if they change. This fixes a bug in the curve editor where undo reselects and autoframes. #jira UE-29663 Change 3044164 on 2016/07/10 by Max.Chen Sequencer: Added ability to immediately record actors directly into sequencer - "Record 'ActorName' In Sequencer" option is now available on the level editor context menu for selected actors when sequencer is open. - This immediately triggers a countdown and records the currently selected actors into a sub sequence in the currently focussed movie scene - Creates a cinematic shot track if you record a camera - Removed the older "queue" and "trigger" methods for now to make it cleaner for the demo. Change 3044180 on 2016/07/11 by Max.Chen Sequencer: Added ability to possess viewports while in PIE - Added a new option to the level sequence editor settings to allow possession of PIE viewports Change 3044181 on 2016/07/11 by Max.Chen Sequencer: Added ability to specify event contexts for FSequencer - This allows us to trigger events from playback within sequencer, according to the sequencer client Change 3044188 on 2016/07/11 by Max.Chen Sequencer: We no longer evaluate camera cut tracks as part of sub tracks, only shot tracks. Change 3044193 on 2016/07/11 by Max.Chen Sequencer: Added cvar LevelSequence.DefaultFixedFrameIntervalPlayback to control this setting for newly created level sequences Change 3044194 on 2016/07/11 by Max.Chen Sequencer: Added an option to rewind the sequence when a recording is started Defaults to 'on' Change 3047334 on 2016/07/12 by Max.Chen Sequencer: Add transactions for creating a camera cut track and a folder. #jira UE-33130 Change 3047365 on 2016/07/12 by Max.Chen Cine Camera: Fix crash in CineCameraComponent when setting focus distance from BP Change 3047366 on 2016/07/12 by Max.Chen Sequence Recorder: Arbitrary property recording [CL 3048548 by Max Chen in Main branch]
2016-07-13 15:37:34 -04:00
AdditionalCommandLineArguments += TEXT("-NOSCREENMESSAGES");
Handle = FUniqueMovieSceneCaptureHandle();
bCapturing = false;
FrameNumberOffset = 0;
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
ImageCaptureProtocolType = UVideoCaptureProtocol::StaticClass();
AudioCaptureProtocolType = UNullAudioCaptureProtocol::StaticClass();
}
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
void UMovieSceneCapture::PostInitProperties()
{
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
if (!HasAnyFlags(RF_ClassDefaultObject))
{
InitializeCaptureProtocols();
}
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
Super::PostInitProperties();
}
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
void UMovieSceneCapture::SetImageCaptureProtocolType(TSubclassOf<UMovieSceneCaptureProtocolBase> ProtocolType)
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
{
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
ImageCaptureProtocolType = ProtocolType.Get();
InitializeCaptureProtocols();
}
void UMovieSceneCapture::SetAudioCaptureProtocolType(TSubclassOf<UMovieSceneCaptureProtocolBase> ProtocolType)
{
AudioCaptureProtocolType = ProtocolType.Get();
InitializeCaptureProtocols();
}
void UMovieSceneCapture::ForciblyReinitializeCaptureProtocols()
{
UClass* ImageProtocolType = ImageCaptureProtocolType.TryLoadClass<UMovieSceneImageCaptureProtocolBase>();
UClass* AudioProtocolType = AudioCaptureProtocolType.TryLoadClass<UMovieSceneAudioCaptureProtocolBase>();
if (ImageCaptureProtocol)
{
// Release the protocol since we know now that it's either not needed (the type is None), or it's the wrong type
ImageCaptureProtocol->OnReleaseConfig(Settings);
FName UniqueDeadName = MakeUniqueObjectName(GetTransientPackage(), UMovieSceneImageCaptureProtocolBase::StaticClass(), "ImageCaptureProtocol_DEAD");
ImageCaptureProtocol->Rename(*UniqueDeadName.ToString(), GetTransientPackage());
ImageCaptureProtocol = nullptr;
}
if (AudioCaptureProtocol)
{
// Release the protocol since we know now that it's either not needed (the type is None), or it's the wrong type
AudioCaptureProtocol->OnReleaseConfig(Settings);
FName UniqueDeadName = MakeUniqueObjectName(GetTransientPackage(), UMovieSceneAudioCaptureProtocolBase::StaticClass(), "AudioCaptureProtocol_DEAD");
AudioCaptureProtocol->Rename(*UniqueDeadName.ToString(), GetTransientPackage());
AudioCaptureProtocol = nullptr;
}
if (ImageProtocolType)
{
FString ProtocolName = GetName() + TEXT("_ImageProtocol");
ImageCaptureProtocol = NewObject<UMovieSceneImageCaptureProtocolBase>(this, ImageProtocolType, *ProtocolName);
if (ImageCaptureProtocol)
{
ImageCaptureProtocol->LoadConfig();
ImageCaptureProtocol->OnLoadConfig(Settings);
}
#if WITH_EDITOR
FPropertyChangedEvent PropertyChangedEvent(GetClass()->FindPropertyByName(GET_MEMBER_NAME_CHECKED(UMovieSceneCapture, ImageCaptureProtocol)), EPropertyChangeType::ValueSet);
PostEditChangeProperty(PropertyChangedEvent);
#endif
}
if (AudioProtocolType)
{
FString ProtocolName = GetName() + TEXT("_AudioProtocol");
AudioCaptureProtocol = NewObject<UMovieSceneAudioCaptureProtocolBase>(this, AudioProtocolType, *ProtocolName);
if (AudioCaptureProtocol)
{
AudioCaptureProtocol->LoadConfig();
AudioCaptureProtocol->OnLoadConfig(Settings);
}
#if WITH_EDITOR
FPropertyChangedEvent PropertyChangedEvent(GetClass()->FindPropertyByName(GET_MEMBER_NAME_CHECKED(UMovieSceneCapture, AudioCaptureProtocol)), EPropertyChangeType::ValueSet);
PostEditChangeProperty(PropertyChangedEvent);
#endif
}
}
void UMovieSceneCapture::InitializeCaptureProtocols()
{
UClass* ImageProtocolType = ImageCaptureProtocolType.TryLoadClass<UMovieSceneCaptureProtocolBase>();
UClass* AudioProtocolType = AudioCaptureProtocolType.TryLoadClass<UMovieSceneCaptureProtocolBase>();
// If there's no type and we've no protocol, do nothing
if (!ImageProtocolType && !AudioProtocolType && !ImageCaptureProtocol && !AudioCaptureProtocol)
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
{
return;
}
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
// If we have a type and we've already got a protocol of that type, do nothing
if (ImageProtocolType && ImageCaptureProtocol && ImageCaptureProtocol->GetClass() == ImageProtocolType &&
AudioCaptureProtocol && AudioCaptureProtocol->GetClass() == AudioProtocolType)
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
{
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
return;
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
}
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
ForciblyReinitializeCaptureProtocols();
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
}
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
void UMovieSceneCapture::Initialize(TSharedPtr<FSceneViewport> InSceneViewport, int32 PIEInstance)
{
ensure(!bCapturing);
// Apply command-line overrides
{
FString OutputPathOverride;
if( FParse::Value( FCommandLine::Get(), TEXT( "-MovieFolder=" ), OutputPathOverride ) )
{
Settings.OutputDirectory.Path = OutputPathOverride;
FPaths::NormalizeFilename(Settings.OutputDirectory.Path);
// Only validate the directory if it doesn't contain any format specifiers
if (!Settings.OutputDirectory.Path.Contains(TEXT("{")))
{
if (!IFileManager::Get().DirectoryExists(*Settings.OutputDirectory.Path))
{
if (!IFileManager::Get().MakeDirectory(*Settings.OutputDirectory.Path))
{
UE_LOG(LogMovieSceneCapture, Error, TEXT("Invalid output directory: %s."), *Settings.OutputDirectory.Path);
}
}
else if (IFileManager::Get().IsReadOnly(*Settings.OutputDirectory.Path))
{
UE_LOG(LogMovieSceneCapture, Error, TEXT("Read only output directory: %s."), *Settings.OutputDirectory.Path);
}
}
}
FString OutputNameOverride;
if( FParse::Value( FCommandLine::Get(), TEXT( "-MovieName=" ), OutputNameOverride ) )
{
Settings.OutputFormat = OutputNameOverride;
}
bool bOverrideOverwriteExisting;
if( FParse::Bool( FCommandLine::Get(), TEXT( "-MovieOverwriteExisting=" ), bOverrideOverwriteExisting ) )
{
Settings.bOverwriteExisting = bOverrideOverwriteExisting;
}
bool bOverrideRelativeFrameNumbers;
if( FParse::Bool( FCommandLine::Get(), TEXT( "-MovieRelativeFrames=" ), bOverrideRelativeFrameNumbers ) )
{
Settings.bUseRelativeFrameNumbers = bOverrideRelativeFrameNumbers;
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 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
int32 HandleFramesOverride;
if( FParse::Value( FCommandLine::Get(), TEXT( "-HandleFrames=" ), HandleFramesOverride ) )
{
Settings.HandleFrames = HandleFramesOverride;
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
bool bOverrideCinematicEngineScalabilityMode;
if( FParse::Bool( FCommandLine::Get(), TEXT( "-MovieEngineScalabilityMode=" ), bOverrideCinematicEngineScalabilityMode ) )
{
Settings.bCinematicEngineScalability = bOverrideCinematicEngineScalabilityMode;
}
bool bOverrideCinematicMode;
if( FParse::Bool( FCommandLine::Get(), TEXT( "-MovieCinematicMode=" ), bOverrideCinematicMode ) )
{
Settings.bCinematicMode = bOverrideCinematicMode;
}
bool bOverridePathTracer;
if (FParse::Bool(FCommandLine::Get(), TEXT("-PathTracer="), bOverridePathTracer))
{
Settings.bUsePathTracer = bOverridePathTracer;
if (bOverridePathTracer)
{
InSceneViewport->GetClient()->GetEngineShowFlags()->SetPathTracing(true);
}
}
uint16 OverridePathTracerSamplePerPixel;
if (FParse::Value(FCommandLine::Get(), TEXT("-PathTracerSamplePerPixel="), OverridePathTracerSamplePerPixel))
{
Settings.PathTracerSamplePerPixel = OverridePathTracerSamplePerPixel;
}
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
bool bProtocolOverride = false;
FString ImageProtocolOverrideString;
if ( FParse::Value( FCommandLine::Get(), TEXT( "-MovieFormat=" ), ImageProtocolOverrideString )
|| FParse::Value( FCommandLine::Get(), TEXT( "-ImageCaptureProtocol=" ), ImageProtocolOverrideString ) )
{
static const TCHAR* const CommandLineIDString = TEXT("CommandLineID");
UClass* OverrideClass = nullptr;
TArray<UClass*> AllProtocolTypes = FindAllCaptureProtocolClasses();
for (UClass* Class : AllProtocolTypes)
{
bool bMetaDataMatch =
#if WITH_EDITOR
Class->GetMetaData(CommandLineIDString) == ImageProtocolOverrideString;
#else
false;
#endif
if ( bMetaDataMatch || Class->GetName() == ImageProtocolOverrideString )
{
OverrideClass = Class;
break;
}
}
if (!OverrideClass)
{
UE_LOG(LogMovieSceneCapture, Error, TEXT("Unrecognized image capture type (-MovieFormat or -ImageCaptureProtocol): %s."), *ImageProtocolOverrideString);
}
else
{
ImageCaptureProtocolType = OverrideClass;
}
}
FString AudioProtocolOverrideString;
if (FParse::Value( FCommandLine::Get(), TEXT( "-AudioCaptureProtocol=" ), AudioProtocolOverrideString ) )
{
static const TCHAR* const CommandLineIDString = TEXT("CommandLineID");
UClass* OverrideClass = nullptr;
TArray<UClass*> AllProtocolTypes = FindAllCaptureProtocolClasses();
for (UClass* Class : AllProtocolTypes)
{
bool bMetaDataMatch =
#if WITH_EDITOR
Class->GetMetaData(CommandLineIDString) == AudioProtocolOverrideString;
#else
false;
#endif
if ( bMetaDataMatch || Class->GetName() == AudioProtocolOverrideString )
{
OverrideClass = Class;
break;
}
}
if (!OverrideClass)
{
UE_LOG(LogMovieSceneCapture, Error, TEXT("Unrecognized audio capture type (-AudioCaptureProtocol): %s."), *AudioProtocolOverrideString);
}
else
{
AudioCaptureProtocolType = OverrideClass;
}
}
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
FString FrameRateOverrideString;
if ( FParse::Value( FCommandLine::Get(), TEXT( "-MovieFrameRate=" ), FrameRateOverrideString ) )
{
if (!TryParseString(Settings.CustomFrameRate, *FrameRateOverrideString))
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
{
UE_LOG(LogMovieSceneCapture, Error, TEXT("Unrecognized capture frame rate: %s. Defaulting to sequence frame rate."), *FrameRateOverrideString);
}
else
{
Settings.bUseCustomFrameRate = true;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
}
}
}
if (!IsRayTracingEnabled())
{
Settings.bUsePathTracer = false;
}
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
bFinalizeWhenReady = false;
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
bIsAudioCapturePass = false;
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
InitSettings = FCaptureProtocolInitSettings::FromSlateViewport(InSceneViewport.ToSharedRef());
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
CachedMetrics = FCachedMetrics();
CachedMetrics.Width = InitSettings->DesiredSize.X;
CachedMetrics.Height = InitSettings->DesiredSize.Y;
double FrameRate = Settings.GetFrameRate().AsDecimal();
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
FormatMappings.Reserve(10);
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
if (FrameRate == FMath::RoundToDouble(FrameRate))
{
FormatMappings.Add(TEXT("fps"), FString::Printf(TEXT("%d"), FMath::RoundToInt(FrameRate)));
}
else
{
FormatMappings.Add(TEXT("fps"), FString::Printf(TEXT("%.2f"), FrameRate));
}
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
FormatMappings.Add(TEXT("width"), FString::Printf(TEXT("%d"), CachedMetrics.Width));
FormatMappings.Add(TEXT("height"), FString::Printf(TEXT("%d"), CachedMetrics.Height));
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3048536) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3004054 on 2016/06/07 by Max.Chen Movie Capture: Expose compressed EXR frames to Sequencer Capture UI and command line. Change 3007048 on 2016/06/09 by Max.Chen Sequencer: Allow showing the context menu for more than one selected node. Certain operations (ie. Lock, Active, Label) now operate on all the selected nodes. #jira UE-31762 Change 3007795 on 2016/06/09 by Max.Chen Sequencer: Select actors for corresponding selected keys or sections. #jira UE-30727 Change 3009689 on 2016/06/10 by Max.Chen Movie Capture: Add {shot} description to movie capture filename format. Change 3010180 on 2016/06/11 by Max.Chen Sequencer: Add support for copying and converting linear color tracks from matinee. #jira UE-31260 Change 3012472 on 2016/06/14 by Max.Chen Sequence Recorder: Optimize adding keys to rich curves. Set the times and values at once as an ordered set. Change 3012473 on 2016/06/14 by Max.Chen Sequence Recorder: Find corresponding PIE world actor for Actor to Record. This fixes a bug where if you set the actor before PIE and then record, the recording doesn't work. Change 3012474 on 2016/06/14 by Max.Chen Sequence Recorder: Fix countdown timer so that it draws in Simulate mode as well as Play. #jira UE-31630 Change 3014868 on 2016/06/15 by Max.Chen Sequencer: For legacy, properties with the CPF_Interp flag can be animated in Matinee. It doesn't require the CPF_Edit flag as well. This makes Sequencer consistent with Matinee. #jira UE-32067 Change 3014869 on 2016/06/15 by Max.Chen Sequencer: Rename "Expose to Matinee" to "Expose to Cinematics" #jira UE-31500 Change 3016137 on 2016/06/16 by Max.Chen Sequencer: Added support for the named "PerformanceCapture" event which like Matinee, calls GEngine->PerformanceCapture to output a screenshot when the event fires. Refactor event track/sections so that the player is passed to the trigger events evaluation. #jira UE-32093 Change 3018996 on 2016/06/18 by Max.Chen Sequencer: Add play/pause/stop events to level sequence player ala matinee actor. #jira UETOOL-899 Change 3019763 on 2016/06/20 by Max.Chen Sequencer: Fix key editor commit when user tabs away (lose focus). Also, make the key navigation buttons and track color button not focusable. Slate: Make editable labels not focusable if they are not editable. #jira UE-24566, UE-31913 Change 3019768 on 2016/06/20 by Max.Chen Sequencer: Event track no longer fires if the playback status is stopped. This fixes a bug where when playback is stopped and the movie scene sequence is returned to the start of playback, we don't want all the events from the last playback position to the start of playback to fire. #jira UE-31494 Change 3020849 on 2016/06/21 by Andrew.Rodham Sequencer: Fixed blueprint classes as spawnables not being reinstanced correctly - The RF_ArchetypeObject flag was previously used to denote spawnable object templates, however this caused blueprint reinstancing to skip such objects, which resulted in crashes, or data loss - Added code to rename expired object templates to ensure there is no name collision - Ensured that register functions are only called on actors that are part of a world (when finalizing blueprint reinstancing) #jira UE-31637 Change 3021400 on 2016/06/21 by Frank.Fella Sequencer - Add support for exporting to fbx. Change 3022941 on 2016/06/22 by Andrew.Rodham Sequencer: Thumbnail improvements - Fixed poor performance when continually zooming (thumbnails were being constantly and immediately rendered in this case) - Added quality setting to thumbnail sections (draft/normal/best) - Improved fade transition to use proper alpha blending - Fixed needlessly recreating the entire world's render state when creating a new editor viewport client. This caused a significant hitch opening sequences in certain large worlds. #jira UE-31264 Change 3022944 on 2016/06/22 by Andrew.Rodham Sequencer: Fixed jitter when jumping around - bEditorCameraCut was not being reset on the next frame, which prevented temporal effects from running Change 3024774 on 2016/06/23 by Max.Chen Sequencer: Cache show intensity to invalidate the waveform preview when the intensity changes. #jira UE-32385 Change 3026170 on 2016/06/24 by Max.Chen Sequence Recorder: Change Actor Name to Record to a TLazyObjectPtr<AActor> so that the user can choose the actor directly rather than typing in a name. Change 3026181 on 2016/06/24 by Max.Chen Sequencer: Add visibility options to show/hide/only when selected 3d trajectories per transform section. #jira UE-31814 Change 3026489 on 2016/06/24 by Andrew.Rodham Sequencer: Fixed some recorded actors not being saved into level sequences correctly - The use of StaticDuplicateObject was causing temporary/transient or otherwise external data to be duplicated into template actors which caused the actor to be culled on package save. - Using NewObject followed by copying the object properties guarantees we don't copy this data. - This is the same method used to spawn the spawnable actor Change 3026522 on 2016/06/24 by Max.Chen Sequence Recorder: Fix bug where sample rate wouldn't get set if the length is set to 0. #jira UE32430 Change 3027768 on 2016/06/25 by Max.Chen Sequencer: Fix player stopping after 60 seconds. Assign the player to a UPROPERTY so that it's not garbage collected. #jira UE-32420 Change 3028318 on 2016/06/27 by Andrew.Rodham Editor: Added safety check to prevent stack overflow populating the world outliner - It was possible for the population code to get stuck in an infinite loop if an actor happened to be attached to itself. #jira UE-30914 Change 3034262 on 2016/06/30 by Andrew.Rodham Sequencer: Fixed invalid properties being recorded when creating spawnable object templates - When creating a spawnable out of an attached actor, the attachment was getting copied into the template. This results in GLEO errors when saving the package. - Suppressed object replacement notifications when calling CopyPropertiesForUnrelatedObjects for spawnables Change 3035168 on 2016/06/30 by Max.Chen UMG: Set anim range to the playback range size. This fixes a bug where animation doesn't play the full length of the playback range if it starts negative. #jira UE-32066 Change 3035169 on 2016/06/30 by Max.Chen Sequencer: Add ReversePlay() and ChangePlaybackDirection() functions (ala Matinee). #jira UE-21259 Change 3035174 on 2016/06/30 by Max.Chen Sequencer: Fix evaluation when playback starts or loops around so that last time is enforced to be the lower bound of the playback range. This fixes a bug in the particle track where if there's a particle that triggers at time 0 and a level sequence that starts at time 0, the event will be missed since last time will be 0 but then rounded to a fixed frame with epislon .0001f. #jira UE-32606 Change 3035186 on 2016/06/30 by Max.Chen Sequencer: Add reset selection range and remove unused delete selection range. #jira UE-32666 Change 3035197 on 2016/07/01 by Max.Chen Sequencer: Fix so that adding a sub section adds to the clicked on sub track and not just the first. #jira UE-32665 Change 3036586 on 2016/07/02 by Max.Chen Sequencer: More play controls - shuttle backward, pause, shuttle forward (j, k, l) #jira UE-27539, UE-31424 Change 3036941 on 2016/07/04 by Andrew.Rodham Sequencer: Record transforms in world space where an actor is attached, and we're not recording its parent Change 3039290 on 2016/07/06 by Andrew.Rodham Sequencer: Various capture fixes - Movie captures no longer crash when no world is loaded (they gracefully close instead) - Currently waiting on change from core to hook up the error code with an actual process termination code - We now force -NoLoadingScreen, -Windowed and -ForceRes since movie captures will not work without these #jira UE-32802 Change 3039831 on 2016/07/06 by Frank.Fella Sequencer - Notify data changed refactor. + Add a change type to "NotifyMovieSceneDataChanged" so that sequencer knows what parts of the system to refresh. + Remove most calls for UpdateRuntimeInstances and replace them with a call to NotifyMovieSceneDataChanged. + Update UMG so that it copies the animation data to the compiled class whenever it's changed. #jira UE-29955 Change 3044087 on 2016/07/10 by Max.Chen Sequencer - Prevent crashes when encountering filler shots with no valid sequence. Change 3044151 on 2016/07/10 by Max.Chen Sequencer: Only update selected nodes if they change. This fixes a bug in the curve editor where undo reselects and autoframes. #jira UE-29663 Change 3044164 on 2016/07/10 by Max.Chen Sequencer: Added ability to immediately record actors directly into sequencer - "Record 'ActorName' In Sequencer" option is now available on the level editor context menu for selected actors when sequencer is open. - This immediately triggers a countdown and records the currently selected actors into a sub sequence in the currently focussed movie scene - Creates a cinematic shot track if you record a camera - Removed the older "queue" and "trigger" methods for now to make it cleaner for the demo. Change 3044180 on 2016/07/11 by Max.Chen Sequencer: Added ability to possess viewports while in PIE - Added a new option to the level sequence editor settings to allow possession of PIE viewports Change 3044181 on 2016/07/11 by Max.Chen Sequencer: Added ability to specify event contexts for FSequencer - This allows us to trigger events from playback within sequencer, according to the sequencer client Change 3044188 on 2016/07/11 by Max.Chen Sequencer: We no longer evaluate camera cut tracks as part of sub tracks, only shot tracks. Change 3044193 on 2016/07/11 by Max.Chen Sequencer: Added cvar LevelSequence.DefaultFixedFrameIntervalPlayback to control this setting for newly created level sequences Change 3044194 on 2016/07/11 by Max.Chen Sequencer: Added an option to rewind the sequence when a recording is started Defaults to 'on' Change 3047334 on 2016/07/12 by Max.Chen Sequencer: Add transactions for creating a camera cut track and a folder. #jira UE-33130 Change 3047365 on 2016/07/12 by Max.Chen Cine Camera: Fix crash in CineCameraComponent when setting focus distance from BP Change 3047366 on 2016/07/12 by Max.Chen Sequence Recorder: Arbitrary property recording [CL 3048548 by Max Chen in Main branch]
2016-07-13 15:37:34 -04:00
FormatMappings.Add(TEXT("world"), InSceneViewport->GetClient()->GetWorld()->GetName());
FDateTime CurrentTime = FDateTime::Now();
FormatMappings.Add(TEXT("year"), CurrentTime.ToString(TEXT("%Y")));
FormatMappings.Add(TEXT("month"), CurrentTime.ToString(TEXT("%m")));
FormatMappings.Add(TEXT("day"), CurrentTime.ToString(TEXT("%d")));
FormatMappings.Add(TEXT("date"), CurrentTime.ToString(TEXT("%Y.%m.%d")));
FormatMappings.Add(TEXT("time"), CurrentTime.ToString(TEXT("%H.%M.%S")));
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
if( !CaptureStrategy.IsValid() )
{
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
CaptureStrategy = MakeShareable( new FRealTimeCaptureStrategy( Settings.FrameRate ) );
CaptureStrategy->OnInitialize();
}
InitializeCaptureProtocols();
if (ensure(ImageCaptureProtocol) && ensure(AudioCaptureProtocol))
{
ImageCaptureProtocol->Setup(InitSettings.GetValue(), this);
AudioCaptureProtocol->Setup(InitSettings.GetValue(), this);
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
if (Settings.bCinematicEngineScalability)
{
CachedQualityLevels = Scalability::GetQualityLevels();
Scalability::FQualityLevels QualityLevels = CachedQualityLevels;
QualityLevels.SetFromSingleQualityLevelRelativeToMax(0);
Scalability::SetQualityLevels(QualityLevels);
}
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
if (!HasAnyFlags(RF_ClassDefaultObject))
{
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
FActiveMovieSceneCaptures::Get().Add(this);
}
}
void UMovieSceneCapture::StartWarmup()
{
bCapturing = false;
if (bIsAudioCapturePass)
{
if (ensure(AudioCaptureProtocol))
{
AudioCaptureProtocol->WarmUp();
}
}
else
{
if (ensure(ImageCaptureProtocol))
{
ImageCaptureProtocol->WarmUp();
}
}
}
void UMovieSceneCapture::StartCapture()
{
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
bFinalizeWhenReady = false;
bCapturing = true;
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
// Audio Captures will always use Real Time capture strategies due to the Audio engine's need for real-time processing.
if (!CaptureStrategy.IsValid() || bIsAudioCapturePass)
{
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
if (CaptureStrategy.IsValid())
{
CaptureStrategy->OnStop();
}
CaptureStrategy = MakeShareable(new FRealTimeCaptureStrategy(Settings.FrameRate));
}
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
CaptureStrategy->OnInitialize();
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
// We only initialize the image capture protocol on the first pass and then stop ticking it (but don't finalize it)
// until the audio capture pass has finished as well. StartCapture can get called up to two times, once for the image
// pass, and again for the audio pass (if needed).
if(!bIsAudioCapturePass)
{
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
ImageCaptureProtocol->StartCapture();
// Disable audio so when the image pass runs it doesn't play stuttering audio.
// ToDo: This doesn't work very well in the editor due to some conflicting code in the engine tick loop
// that also sets the volume each frame, overriding the effect of this.
FApp::SetVolumeMultiplier(0.0f);
FApp::SetUnfocusedVolumeMultiplier(0.0f);
}
else
{
// Unmute the audio
FApp::SetVolumeMultiplier(1.0f);
// Ensure non-focused apps still play audio as the audio has to be emitted for the recording to capture it.
FApp::SetUnfocusedVolumeMultiplier(1.0f);
AudioCaptureProtocol->StartCapture();
}
}
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
void UMovieSceneCapture::CaptureThisFrame(float DeltaSeconds)
{
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
if (!bCapturing || !CaptureStrategy.IsValid() || !ImageCaptureProtocol || !AudioCaptureProtocol || bFinalizeWhenReady)
{
return;
}
CachedMetrics.ElapsedSeconds += DeltaSeconds;
if (CaptureStrategy->ShouldPresent(CachedMetrics.ElapsedSeconds, CachedMetrics.Frame))
{
uint32 NumDroppedFrames = CaptureStrategy->GetDroppedFrames(CachedMetrics.ElapsedSeconds, CachedMetrics.Frame);
CachedMetrics.Frame += NumDroppedFrames;
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
const FFrameMetrics ThisFrameMetrics(
CachedMetrics.ElapsedSeconds,
DeltaSeconds,
CachedMetrics.Frame,
NumDroppedFrames
);
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
if (!bIsAudioCapturePass)
{
ImageCaptureProtocol->CaptureFrame(ThisFrameMetrics);
}
else
{
AudioCaptureProtocol->CaptureFrame(ThisFrameMetrics);
}
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
UE_LOG(LogMovieSceneCapture, Verbose, TEXT("Captured frame: %d"), CachedMetrics.Frame);
++CachedMetrics.Frame;
}
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
}
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
void UMovieSceneCapture::Tick(float DeltaSeconds)
{
if (ImageCaptureProtocol)
{
ImageCaptureProtocol->PreTick();
}
if(AudioCaptureProtocol)
{
AudioCaptureProtocol->PreTick();
}
OnTick(DeltaSeconds);
if (ImageCaptureProtocol)
{
ImageCaptureProtocol->Tick();
}
if(AudioCaptureProtocol)
{
AudioCaptureProtocol->Tick();
}
}
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
void UMovieSceneCapture::FinalizeWhenReady()
{
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
if (!bFinalizeWhenReady)
{
bFinalizeWhenReady = true;
if (ImageCaptureProtocol)
{
ImageCaptureProtocol->BeginFinalize();
}
if(AudioCaptureProtocol)
{
AudioCaptureProtocol->BeginFinalize();
}
}
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
}
void UMovieSceneCapture::Finalize()
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
if (Settings.bCinematicEngineScalability)
{
Scalability::SetQualityLevels(CachedQualityLevels);
}
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
FActiveMovieSceneCaptures::Get().Remove(this);
if (bCapturing)
{
bCapturing = false;
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
if (CaptureStrategy.IsValid())
{
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
CaptureStrategy->OnStop();
CaptureStrategy = nullptr;
}
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
if (ImageCaptureProtocol)
{
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
ImageCaptureProtocol->Finalize();
}
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
if(AudioCaptureProtocol)
{
AudioCaptureProtocol->Finalize();
}
// Reinitialize the object to ensure no transient state is carried over from one capture to the next
ForciblyReinitializeCaptureProtocols();
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
OnCaptureFinishedDelegate.Broadcast();
}
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
bFinalizeWhenReady = false;
}
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
FString UMovieSceneCapture::ResolveFileFormat(const FString& Format, const FFrameMetrics& FrameMetrics) const
{
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
TMap<FString, FStringFormatArg> AllArgs = FormatMappings;
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3283640) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3229011 on 2016/12/09 by Steve.Robb Licensee version updated in FWorldTileInfo::Read(). https://udn.unrealengine.com/questions/325874/fworldtileinfo-not-passing-fileversionlicenseeue4.html Change 3230493 on 2016/12/12 by Robert.Manuszewski Adding a check against assembling the reference token stream while streaming without locking GC. Change 3230515 on 2016/12/12 by Steve.Robb GetStaticEnum and GetStaticStruct removed. Various generated code tidy-ups. Change 3230522 on 2016/12/12 by Steve.Robb UHT no longer complains about bases with different prefixes. References to obsolete DependsOn removed. Change 3230528 on 2016/12/12 by Steve.Robb ReferenceChainSearch tidyups. Change 3234235 on 2016/12/14 by Robert.Manuszewski PR #2695: fix comments (Contributed by wyhily2010) Change 3234237 on 2016/12/14 by Robert.Manuszewski PR #2614: [GenericPlatformFile] New Function, GetTimeStampLocal, returns file time stamp in local time instead of UTC  Rama (Contributed by EverNewJoy) Change 3236214 on 2016/12/15 by Robert.Manuszewski PR# 1988 : Allow absolute path in -UserDir=<Path> argument (contributed by bozaro) Change 3236582 on 2016/12/15 by Robert.Manuszewski Allow commandline use in shipping builds #jira UE-24613 Change 3236591 on 2016/12/15 by Robert.Manuszewski Removed unnecessary console variable logspam #jira UE-24614 Change 3236737 on 2016/12/15 by Steve.Robb Fixes to non-contiguous enums in OSS. Change 3239686 on 2016/12/19 by Chris.Wood Fixed CompressionHelper method UE4CompressFileGZIP() that leaked a file handle when a compression error occurred (CRP v1.2.12) [UE-39910] - CrashReportProcess leaks file handles and doesn't cleanup folders after compression fails during output to S3 Change 3240687 on 2016/12/20 by Chris.Wood Improved CrashReportProcess retry logic to avoid stuck threads when CRW fails to add crashes (CRP 1.2.13) [UE-39941] - Improve CrashReportProcess retry logic when CR website returns failed response to AddCrash Request Change 3246347 on 2017/01/04 by Steve.Robb Readability, debuggability and standards improvements. Change 3249122 on 2017/01/06 by Steve.Robb Generic FPaths::Combine, allowing a mix of string argument types and unlimited arity. Change 3249580 on 2017/01/06 by Steve.Robb Fix for TArray::HeapSort when array contains pointers. See: https://answers.unrealengine.com/questions/545533/bug-heapsort-with-tarray-of-pointers-fails-to-comp.html Change 3250593 on 2017/01/09 by Robert.Manuszewski PR #3046: UE-39578: Added none to invalid filenames (Contributed by projectgheist) Change 3250596 on 2017/01/09 by Robert.Manuszewski PR #3094: Fixing typo in comments for LODColoration in BaseEngine.ini - UE-40196 (Contributed by sanjay-nambiar) Change 3250599 on 2017/01/09 by Robert.Manuszewski PR #3096: Fixed Log message in ExclusiveLoadPackageTimeTracker : UE-37583 (Contributed by sanjay-nambiar) Change 3250863 on 2017/01/09 by Steve.Robb Build configuration option to force the use of the Debug version of UnrealHeaderTool. Change 3250994 on 2017/01/09 by Ben.Zeigler Remove bad or redundant ini redirects. These did not work with the old system but were silently ignored, my new system throws warnings about them Change 3251000 on 2017/01/09 by Ben.Zeigler #jira UE-39599 Add FCoreRedirects which replaces and unifies the redirect systems in LinkerLoad, K2Node, Enum, and TaggedProperty. This fixes various bugs and makes things uniform. It will parse the previous ini files, or load out of a [CoreRedirects] section in any loaded ini file The old redirect system can be re-enabled by setting USE_CORE_REDIRECTS to 0 in CoreRedirects.h. This will be removed eventually Some refactors to pass in information needed by the new system that the old system didn't need Add LoadTimeVerbose stats for processing redirects and enable that group during -LoadTimeFile Change 3253580 on 2017/01/11 by Graeme.Thornton Added some validation of the class index in exportmap entries #jira UE-37873 Change 3253777 on 2017/01/11 by Graeme.Thornton Increase SerialSize and SerialOffset in FObjectExport to 64bits, to handle super large files #jira UE-39946 Change 3257750 on 2017/01/13 by Ben.Zeigler Fix issue where incorrectly set up animation node redirects (were ActiveClassRedirects, should have been ActiveStructRedirects) didn't work in the new redirect system because it validated more. Added backward compatibilty code and fixed some conflicts in the ini. Change 3261176 on 2017/01/17 by Ben.Zeigler #jira UE-40746 Fix redundant ini redirect #jira UE-40725 Fix section of Match3 defaultengine.ini that appears to have been accidentally duplicated from baseengine.ini several years ago Change 3261915 on 2017/01/18 by Steve.Robb Fixes to localized printf formats. Change 3262142 on 2017/01/18 by Ben.Zeigler Remove runtime code for old ActiveClassRedirects and related systems. It was already disabled and the old ini format is still parsed and converted to FCoreRedirects at runtime so there should be no functionality change. Merged the deprecated tagged property and enum redirect ini parsing into LinkerLoad, and remove the RemapImports step entirely as it's part of FixupImportMap. Change 3263596 on 2017/01/19 by Gil.Gribb UE4 - Fixed many bugs with the event driven loader and allowed it to work at boot time. Change 3263597 on 2017/01/19 by Gil.Gribb UE4 - Allowed UnrealPak to do a better job with EDL pak files when the order provided is old or from the cooker. Several minor tweaks to low level async IO stuff in support of switch experiments. Change 3263922 on 2017/01/19 by Gil.Gribb UE4 - Fixed a bug with nativized blueprints that was introduced with the boot time EDL changes. Change 3264131 on 2017/01/19 by Robert.Manuszewski Simple app to test hard to repro bugs Change 3264849 on 2017/01/19 by Ben.Zeigler Change FParse::Value to treat ) like , for parsing to handle config parsing struct format. This fixes cases where lines end with bool or FName variables that aren't written out quoted: +ClassRedirects=(OldName="LandscapeProxy",NewName="LandscapeStreamingProxy",InstanceOnly=True) Change 3265232 on 2017/01/19 by Ben.Zeigler #jira UE-39599 Finish class redirect refactor by cleaning up BaseEngine.ini Move plugin-specific redirects to new plugin ini files Move all redirects from BaseEngine.ini prior to 4.11 to native registration in FCoreRedirects. Needed to split up functions to avoid long compile times Move all redirects after 4.11 to new ini format Some related blueprint fixup code changes, these weren't cooperating well with some ini redirects Change 3265490 on 2017/01/20 by Steve.Robb Prevent engine reinstancing on hot reload. #jira UE-40765 Change 3265593 on 2017/01/20 by Gil.Gribb UE4 - Stored a copy of the callback in async read request so that we don't need to worry about lifetime so we can capture variables as needed. Also fixed race in audio streaming. Change 3266003 on 2017/01/20 by Gil.Gribb UE4 - Fixed bug which would cause a fatal error when cooking subobjects that were pending kill. Change 3267433 on 2017/01/22 by Gil.Gribb UE4 - Fixed a bug with EDL at boot time which caused a fatal error with unfired imports. Change 3267677 on 2017/01/23 by Steve.Robb Fix for whitespace before UCLASS() causing compile errors. #jira UE-24110 Change 3267685 on 2017/01/23 by Steve.Robb First pass of fixes to printf-style calls to only use TCHAR[] specifiers. Change 3267746 on 2017/01/23 by Steven.Hutton Resolve offline work Changes to repositories to support better handling of db connections. Change 3267865 on 2017/01/23 by Steve.Robb Clarification of TArray::FindLastByPredicate() and FString::FindLastCharByPredicate(). #fyi nick.darnell Change 3268075 on 2017/01/23 by Gil.Gribb UE4 - Fixed another bug with RF_PendingKill subobjects and the new loader. Change 3268447 on 2017/01/23 by Gil.Gribb Fortnite - Removed calls to ::StaticClass() before main starts; this is not allowed. Change 3269491 on 2017/01/24 by Gil.Gribb UE4 - Cancelling async loading with the EDL loader now prints a warning and does a flush instead. Change 3269492 on 2017/01/24 by Gil.Gribb UE4 - Suppressed a few EDL cook wanrings. Change 3270085 on 2017/01/24 by Gil.Gribb UE4 - Remove pak highwater spam. Change 3270089 on 2017/01/24 by Gil.Gribb UE4 - fix random bug with memory counting and some vertex buffer Change 3271246 on 2017/01/25 by Chris.Wood Fixed CrashReportProcess pipeline for Mac and Linux crashes lacking machine Ids (CRP v1.2.14) [UE-40605] - Machine ID is not being shown on the crashreporter website Change 3271827 on 2017/01/25 by Steve.Robb C4946 warning disabled in third party headers (triggers in Clang/LLVM). Change 3271874 on 2017/01/25 by Steve.Robb Fix for missing error check after header preparsing. Change 3271911 on 2017/01/25 by Steve.Robb ObjectMacros.h now automatically included by generated headers. #fyi jamie.dale Change 3273125 on 2017/01/26 by Steve.Robb Check to ensure that a .generated.h header is included by headers which have exported types, to avoid crazy compiler errors. #fyi james.golding Change 3273209 on 2017/01/26 by Steve.Robb UnrealCodeAnalyzer compilation fixes. Change 3274917 on 2017/01/27 by Steve.Robb GC disabled when recompiling child BPs, as is already the case for the parent (CL# 2731120). Now-unused field removed. Change 3279091 on 2017/01/31 by Ben.Marsh UBT: Remove code paths which assume relative paths based on a particular CWD. Use the absolute paths stored in UnrealBuildTool.RootDirectory/UnrealBuildTool.EngineDirectory instead. Change 3279195 on 2017/01/31 by Gil.Gribb Turned EDL on for orion Change 3279493 on 2017/01/31 by Ben.Zeigler #jira UE-41341 Redo redirector fixups that got undone in merge from Main Change 3280284 on 2017/01/31 by Ben.Zeigler #jira UE-41357 Fix typo in vehicle redirect. Also fix base crash when converting old content with nodes that don't exist. Fix issues with loading plugin ini files. They weren't properly "diffing" against the base/default source file so my redirect typo fix didn't propagate. Some general config system refactors on Josh's advice, and make base.ini optional if reading out of a non-standard engine directory Engine plugin ini are now BasePlugin.ini, game plugins are still DefaultPlugin.ini. Fix crash when loading old content pointing to nonexistent node type. It will still error/ensure but won't crash. Change 3280299 on 2017/01/31 by Gil.Gribb possibly fix edl at boot with orion server....though was no-repro Change 3280386 on 2017/01/31 by Ben.Zeigler Header include fixes for -nopch, fixes incremental build Change 3280557 on 2017/01/31 by Ben.Zeigler Fix Config crash. FConfigFile's copy constructor is apparently not safe and resulted in garbage memory in some cases Change 3280817 on 2017/02/01 by Steve.Robb Unused SmartCastProperty removed. Change 3280897 on 2017/02/01 by Chris.Wood Improved CRP shutdown code to abort AddCrash requests when cancel is requested (CRP v1.2.15) [UE-41338] - Fix CRP shutdown when website isn't accepting new crashes Also, improved shutdown code to try to avoid occassional exception when writing out the report index. Looks like it isn't shutting down worker threads cleanly sometimes. Added more logging to this too. Change 3280989 on 2017/02/01 by Gil.Gribb New unrealpak binaries Change 3281416 on 2017/02/01 by Michael.Trepka Updated UnrealPak binaries for Mac Change 3282457 on 2017/02/01 by Ben.Zeigler #jira UE-41425 Protect against issues with streamable manager requests recursively completing by caching the array locally. This code is safer in general in my local version so just doing a quick fix for now Change 3282619 on 2017/02/01 by Arciel.Rekman Linux: update UnrealPak. [CL 3283649 by Ben Marsh in Main branch]
2017-02-02 14:41:50 -05:00
AllArgs.Add(TEXT("frame"), FString::Printf(TEXT("%0*d"), Settings.ZeroPadFrameNumbers, Settings.bUseRelativeFrameNumbers ? FrameMetrics.FrameNumber : FrameMetrics.FrameNumber + FrameNumberOffset));
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
AddFormatMappings(AllArgs, FrameMetrics);
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
// Allow the capture protocols to add their own format mappings
if (ImageCaptureProtocol)
{
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
ImageCaptureProtocol->AddFormatMappings(AllArgs);
}
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
if (AudioCaptureProtocol)
{
AudioCaptureProtocol->AddFormatMappings(AllArgs);
}
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
return FString::Format(*Format, AllArgs);
}
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 UMovieSceneCapture::LoadFromConfig()
{
LoadConfig();
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
InitializeCaptureProtocols();
if(ImageCaptureProtocol)
{
ImageCaptureProtocol->LoadConfig();
}
if(AudioCaptureProtocol)
{
AudioCaptureProtocol->LoadConfig();
}
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
FString JsonString;
FString Section = GetClass()->GetPathName() + TEXT("_Json");
if (GConfig->GetString( *Section, TEXT("Data"), JsonString, GEditorSettingsIni))
{
FString UnescapedString = FRemoteConfig::ReplaceIniSpecialCharWithChar(JsonString).ReplaceEscapedCharWithChar();
TSharedPtr<FJsonObject> RootObject;
TSharedRef<TJsonReader<> > JsonReader = TJsonReaderFactory<>::Create(UnescapedString);
if (FJsonSerializer::Deserialize(JsonReader, RootObject) && RootObject.IsValid())
{
DeserializeAdditionalJson(*RootObject);
}
}
}
void UMovieSceneCapture::SaveToConfig()
{
TSharedRef<FJsonObject> Json = MakeShareable(new FJsonObject);
SerializeAdditionalJson(*Json);
FString JsonString;
TSharedRef<TJsonWriter<> > JsonWriter = TJsonWriterFactory<>::Create(&JsonString, 0);
if (FJsonSerializer::Serialize( Json, JsonWriter ))
{
FString Section = GetClass()->GetPathName() + TEXT("_Json");
FString EscapedJson = FRemoteConfig::ReplaceIniCharWithSpecialChar(JsonString).ReplaceCharWithEscapedChar();
GConfig->SetString( *Section, TEXT("Data"), *EscapedJson, GEditorSettingsIni);
GConfig->Flush(false, GEditorSettingsIni);
}
SaveConfig();
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
if(ImageCaptureProtocol)
{
ImageCaptureProtocol->SaveConfig();
}
if(AudioCaptureProtocol)
{
AudioCaptureProtocol->SaveConfig();
}
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 UMovieSceneCapture::SerializeJson(FJsonObject& Object)
{
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
if (ImageCaptureProtocol)
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
{
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
Object.SetField(TEXT("ImageProtocolType"), MakeShareable(new FJsonValueString(ImageCaptureProtocol->GetClass()->GetPathName())));
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
TSharedRef<FJsonObject> ProtocolDataObject = MakeShareable(new FJsonObject);
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
if (FJsonObjectConverter::UStructToJsonObject(ImageCaptureProtocol->GetClass(), ImageCaptureProtocol, ProtocolDataObject, 0, 0))
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
{
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
Object.SetField(TEXT("ImageProtocolData"), MakeShareable(new FJsonValueObject(ProtocolDataObject)));
}
}
if (AudioCaptureProtocol)
{
Object.SetField(TEXT("AudioProtocolType"), MakeShareable(new FJsonValueString(AudioCaptureProtocol->GetClass()->GetPathName())));
TSharedRef<FJsonObject> ProtocolDataObject = MakeShareable(new FJsonObject);
if (FJsonObjectConverter::UStructToJsonObject(AudioCaptureProtocol->GetClass(), AudioCaptureProtocol, ProtocolDataObject, 0, 0))
{
Object.SetField(TEXT("AudioProtocolData"), MakeShareable(new FJsonValueObject(ProtocolDataObject)));
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
}
}
SerializeAdditionalJson(Object);
}
void UMovieSceneCapture::DeserializeJson(const FJsonObject& Object)
{
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
TSharedPtr<FJsonValue> ImageProtocolTypeField = Object.TryGetField(TEXT("ImageProtocolType"));
if (ImageProtocolTypeField.IsValid())
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
{
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
UClass* ProtocolTypeClass = FindObject<UClass>(nullptr, *ImageProtocolTypeField->AsString());
if (ProtocolTypeClass && ProtocolTypeClass->IsChildOf(UMovieSceneCaptureProtocolBase::StaticClass()))
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
{
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
SetImageCaptureProtocolType(ProtocolTypeClass);
if (ImageCaptureProtocol)
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
{
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
TSharedPtr<FJsonValue> ProtocolDataField = Object.TryGetField(TEXT("ImageProtocolData"));
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
if (ProtocolDataField.IsValid())
{
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
FJsonObjectConverter::JsonAttributesToUStruct(ProtocolDataField->AsObject()->Values, ProtocolTypeClass, ImageCaptureProtocol, 0, 0);
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
}
}
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
#if WITH_EDITOR
FPropertyChangedEvent PropertyChangedEvent(GetClass()->FindPropertyByName(GET_MEMBER_NAME_CHECKED(UMovieSceneCapture, ImageCaptureProtocol)), EPropertyChangeType::ValueSet);
PostEditChangeProperty(PropertyChangedEvent);
#endif
}
}
TSharedPtr<FJsonValue> AudioProtocolTypeField = Object.TryGetField(TEXT("AudioProtocolType"));
if (AudioProtocolTypeField.IsValid())
{
UClass* ProtocolTypeClass = FindObject<UClass>(nullptr, *AudioProtocolTypeField->AsString());
if (ProtocolTypeClass && ProtocolTypeClass->IsChildOf(UMovieSceneCaptureProtocolBase::StaticClass()))
{
SetAudioCaptureProtocolType(ProtocolTypeClass);
if (AudioCaptureProtocol)
{
TSharedPtr<FJsonValue> ProtocolDataField = Object.TryGetField(TEXT("AudioProtocolData"));
if (ProtocolDataField.IsValid())
{
FJsonObjectConverter::JsonAttributesToUStruct(ProtocolDataField->AsObject()->Values, ProtocolTypeClass, AudioCaptureProtocol, 0, 0);
}
}
#if WITH_EDITOR
FPropertyChangedEvent PropertyChangedEvent(GetClass()->FindPropertyByName(GET_MEMBER_NAME_CHECKED(UMovieSceneCapture, AudioCaptureProtocol)), EPropertyChangeType::ValueSet);
PostEditChangeProperty(PropertyChangedEvent);
#endif
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
}
}
DeserializeAdditionalJson(Object);
}
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
bool UMovieSceneCapture::ShouldFinalize() const
{
return bFinalizeWhenReady && ImageCaptureProtocol->HasFinishedProcessing() && AudioCaptureProtocol->HasFinishedProcessing();
}
bool UMovieSceneCapture::IsAudioPassIfNeeded() const
{
return AudioCaptureProtocolType == UNullAudioCaptureProtocol::StaticClass() || bIsAudioCapturePass;
}
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
#if WITH_EDITOR
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
void UMovieSceneCapture::PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent)
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
{
FName PropertyName = (PropertyChangedEvent.MemberProperty != NULL) ? PropertyChangedEvent.MemberProperty->GetFName() : NAME_None;
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
if (PropertyName == GET_MEMBER_NAME_CHECKED(UMovieSceneCapture, ImageCaptureProtocolType)
|| PropertyName == GET_MEMBER_NAME_CHECKED(UMovieSceneCapture, AudioCaptureProtocolType))
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
{
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
InitializeCaptureProtocols();
}
// We only want to save changes to the UI instance. This makes it so that closing the Movie Scene Capture UI
// saves your changes (without having to render a movie) but doesn't leak changes into the Python scripting
// environment.
if (GetFName() == MovieSceneCaptureUIName)
{
SaveToConfig();
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
}
Super::PostEditChangeProperty(PropertyChangedEvent);
}
#endif
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
FFixedTimeStepCaptureStrategy::FFixedTimeStepCaptureStrategy(FFrameRate InFrameRate)
: FrameRate(InFrameRate)
{
}
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
void FFixedTimeStepCaptureStrategy::OnInitialize()
{
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
FApp::SetFixedDeltaTime(FrameRate.AsInterval());
FApp::SetUseFixedTimeStep(true);
}
void FFixedTimeStepCaptureStrategy::OnStop()
{
FApp::SetUseFixedTimeStep(false);
// This can cause an issue with negative delta times in the engine. Instead of changing
// that rather sensitive code, we're going to just override the time that calculation is based off of, so it never comes up with a negative number.
if(FApp::GetCurrentTime() > FPlatformTime::Seconds())
{
UE_LOG(LogTemp, Warning, TEXT("FApp::CurrentTime() is ahead of platform time due to Fixed Timestep. Fixing. AppCurrentTime: %f PlatformCurrentTime: %f"), FApp::GetCurrentTime(), FPlatformTime::Seconds());
double CurrentRealTime = FPlatformTime::Seconds();
FApp::SetCurrentTime(CurrentRealTime);
}
}
bool FFixedTimeStepCaptureStrategy::ShouldPresent(double CurrentTimeSeconds, uint32 FrameIndex) const
{
return true;
}
int32 FFixedTimeStepCaptureStrategy::GetDroppedFrames(double CurrentTimeSeconds, uint32 FrameIndex) const
{
return 0;
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
FRealTimeCaptureStrategy::FRealTimeCaptureStrategy(FFrameRate InFrameRate)
: NextPresentTimeS(0), FrameLength(InFrameRate.AsInterval())
{
}
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
void FRealTimeCaptureStrategy::OnInitialize()
{
}
void FRealTimeCaptureStrategy::OnStop()
{
}
bool FRealTimeCaptureStrategy::ShouldPresent(double CurrentTimeSeconds, uint32 FrameIndex) const
{
return CurrentTimeSeconds >= FrameIndex * FrameLength;
}
int32 FRealTimeCaptureStrategy::GetDroppedFrames(double CurrentTimeSeconds, uint32 FrameIndex) const
{
uint32 ThisFrame = FMath::FloorToInt(CurrentTimeSeconds / FrameLength);
if (ThisFrame > FrameIndex)
{
return ThisFrame - FrameIndex;
}
return 0;
}
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
#undef LOCTEXT_NAMESPACE