Files

58 lines
1.5 KiB
C++
Raw Permalink Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3821754 by Jamie.Dale [Python] Class property conversion now goes through NativizeClass/PythonizeClass This allows it to coerce from Python wrapped object types Change 3833107 by Patrick.Boutot Added functions to fill an existing DataTable from an existing CSV/JSON file. Change 3835044 by Aaron.Carlisle Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename. Change 3835466 by Patrick.Boutot Hide function from Python that need special compile command to be executed by the VM. Change 3839237 by Jamie.Dale Added a way to inspect the full chain of properties that are currently being serialized by an archive You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct). Change 3839974 by Jamie.Dale Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else Change 3842311 by Jamie.Dale Fixing potential null level assert Change 3842313 by Jamie.Dale Updated settings editor to handle external properties Change 3842316 by Jamie.Dale Allowing a console command to be given to GEditor/GEngine even if there's a player CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue. Change 3842867 by Jamie.Dale Added a way to generate diffs from editor transactions The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted. These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events. Change 3844428 by Patrick.Boutot Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script. Change 3845966 by Jamie.Dale Added support for minimal game RPC worlds These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world) Change 3848844 by Patrick.Boutot Expose EComponentMobility to blueprint. Change 3854616 by Patrick.Boutot Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise. Change 3856650 by Jamie.Dale Fixed a bug where transaction finalization could miss changes since the last snapshot Change 3864951 by Patrick.Boutot Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed. Change 3867158 by JeanMichel.Dignard UBT - Added the ability for dll programs to export symbols. #jira UEENT-541 Change 3872342 by Jamie.Dale Merging static analysis fixes from 4.19 Change 3879305 by Jamie.Dale Improved the processing of py files from exec commands The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments. Change 3879306 by Jamie.Dale Added a minimal commandlet for invoking Python scripts Change 3881631 by Jamie.Dale Added basic RTTI to Python meta-data types Change 3885384 by Jamie.Dale [Python] Prevent glue code using reserved names Change 3888957 by Patrick.Boutot In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject. The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing. Change 3888961 by Patrick.Boutot Fix FInterval::IsValid return type. Change 3888980 by Patrick.Boutot Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948. Change 3889165 by Patrick.Boutot Fix build. Missing include for Timespan. Introduce with CL 3888980. Change 3889261 by Jamie.Dale [Python] Fixing some more name conflicts in generated code Change 3889504 by Darren.Pegg Add option to change PreferredPixelFormat Change 3891193 by Patrick.Boutot Fix build. Missing include for Interval. Introduce with CL 3888980. Change 3897108 by Patrick.Boutot TTinterval use it own traits. Create a Interval traits for Timespan. #jira UEENT-947 Change 3899669 by Jamie.Dale Fixed Functions sometimes being exposed to Python as if they were Structs Change 3900692 by Jamie.Dale Removed some boilerplate associated with wrapping a basic type to Python You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example) Change 3901066 by conan.reis UE4 editor script bindings (Cobra) and helper functions for version control - exposed SourceControl class with common source control methods and associated SourceControlState structure - commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard) - commands store any errors in a shared error text object which is optionally printed to the error log - renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile() - included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages. Change 3901388 by Jamie.Dale Minimal Slate hooks for Python Change 3901456 by Jamie.Dale Added missing file Change 3901549 by Jamie.Dale Removing some more Windows defines that were causing build issues Change 3904518 by conan.reis Source Control - ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider Change 3905612 by Francis.Hurteau Optimize RemoveDuplicates somewhat using a TSet #jira UEENT-217 Change 3912626 by Jamie.Dale Fixed ShouldExcludeDerivedClasses option not working RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering. Change 3917739 by Jamie.Dale Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget Change 3917744 by Jamie.Dale Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime. Change 3918832 by Jamie.Dale Removed field iteration from Python function calls We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields. Change 3920648 by Patrick.Boutot Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen. Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization. Change 3921396 by Jamie.Dale Split up the generated type data to correspond to the type being wrapped A lot of types can just use the minimal set, but classes and structs have some extra data. Change 3921619 by conan.reis - add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again. - also added result info to FSourceControlWindows::PromptForCheckin() #jira UE-55255 Change 3921624 by conan.reis Removed Source Control common files from pre compiled header - main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp - remaining files have includes changed to accomodate Change 3921958 by conan.reis Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619 Change 3922740 by conan.reis Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion. They were previously removed in CL3921624 Change 3923375 by Jamie.Dale Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings Change 3926547 by Jamie.Dale Added support for struct method "hoisting" This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python. Change 3927050 by conan.reis Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers #JIRA UE-55256 Change 3929268 by conan.reis - fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected - removed Perforce error message about file folders outside of the workspace client mappings - clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled() #JIRA UE-55254 Change 3931024 by Rex.Hill Expose FBX and Texture import to python Change 3931273 by Rex.Hill Hide re-import slate notification pop-up during python automated asset import Change 3931368 by Jamie.Dale Stopped bools coercing to numeric types in Python nativization Change 3931374 by Jamie.Dale Added support for struct math operator "hoisting" This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python. Change 3932586 by Rex.Hill Removed file read into unused memory buffer during Fbx import Change 3934308 by Jamie.Dale Added a public interface for the Python plugin Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log. Change 3935088 by conan.reis - Added info/warning and error message storage to all the source control operation structures so additional information can be made available. - Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion. #JIRA UE-55257 Change 3936668 by Rex.Hill #jira UE-55985 Avoid re-allocation of memory buffer holding file bytes during asset import Change 3940596 by Rex.Hill #jira UE-55989 Optimize skeletal mesh import performance scaling Overlapping vertex check was O (N^2) 100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds Change 3942629 by Rex.Hill #jira UE-55995 Read fbx file only once during import Fixes a memory leak of FbxScene and reduces wait time during import. Change 3942884 by Rex.Hill Python asset import can now customize destination asset name Change 3946278 by Jamie.Dale Added stricter conversion for math operator arguments PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion. This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads). Change 3948455 by Jamie.Dale Added generic Tick function to FPythonScriptPlugin This can also handle init logic for after the engine is fully initialized Change 3948888 by Jamie.Dale Added settings for the Python plugin You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings). Change 3948982 by Jamie.Dale Fixed Python 3 build error caused by CObject being removed in Python 3.2 Change 3949614 by Francis.Hurteau Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer #jira UEENT-1053 Change 3950829 by Rex.Hill Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION Change 3953452 by Jamie.Dale Fixed some dependencies Change 3953645 by Jamie.Dale Fixed Python parameter packing treating bool output paramers as potential return values void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool. Change 3953850 by Jamie.Dale Fixed doc string generation for a function with multiple output paramters and no return value Change 3954279 by Jamie.Dale Initial support for exposing deprecated properties and functions to Python This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left. Change 3954922 by Rex.Hill Expose UnloadPackages to python Change 3955209 by Jamie.Dale Initial support for exposing deprecated classes to Python Change 3955248 by Jamie.Dale Added a way to load Unreal modules via Python unreal.load_module("modulename") Change 3955561 by Rex.Hill Expose asset export to python Change 3956068 by Rex.Hill Linux compile fix. Change 3960449 by Rex.Hill Fix automated test using bCombineMeshes Change 3960495 by Patrick.Boutot Add a temporary menu to show the MetaData of an asset. The menu will need to be updated to have a look and feel of the Detail View and support edition at one point. Change 3961599 by Rex.Hill Reduced peak memory during import of meshes related to duplicate vertex tracking Change 3962104 by Rex.Hill Disable import mesh overlapping corners memory optimization to because it can change uv generation Change 3962507 by Rex.Hill Fix uv generation Change 3965285 by Rex.Hill Add support for FBX export as ASCII #jira UE-56465 Change 3965287 by Rex.Hill Forgotten file, fbx export as ascii Change 3966772 by Simon.Tourangeau Fix MaterialExpressionFunctions for ExternalTexture support Change 3967014 by Jamie.Dale Added a way to get the CDO in Python Wrapped objects now have a get_default_object class method Change 3967151 by Jamie.Dale Added stats to track Python generation time Change 3968006 by Simon.Therriault Media Samples - Removed Locks and Min/Max SampleTime from queues - Added methods to fetch NextSampleTime and SampleCount in queues - Added MediaSource base class for players that want to be time synchronized #jira UEENT-948 Change 3969119 by Patrick.Boutot Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other. [CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
#include "FixedFrameRateCustomTimeStep.h"
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4059031) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3974233 by Rex.Hill Optimized BuildStaticMeshVertexAndIndexBuffers and TEdgeBuilder Change 3974234 by Rex.Hill Reduced number of calls to SaveRawMesh and LoadRawMesh Change 3974235 by Rex.Hill Optimized SaveRawMesh by pre-allocating buffer Change 3981370 by Jamie.Dale Added support for deprecated (renamed) classes, structs, enums, functions, and properties in Python The glue code generation will now use the existing redirects system to build deprecated entries for old names. You can also specify deprecated names to the ScriptName and ScriptMethod meta-data values by adding extra semi-colon separated entries (the first entry is the current name). Accessing deprecated objects in Python leads to a deprecation warning when developer mode is enabled. Change 3983875 by Jamie.Dale Exposed some asset registry functions that may be useful in a commandlet environment Change 3983901 by Jamie.Dale Hoisted some AssetData helpers onto the struct in Python Change 3988367 by Jamie.Dale Python now honors EditInstanceOnly and EditDefaultsOnly when setting property values Change 3988369 by Jamie.Dale Exposed generic get_default_object function that takes a type and returns you the CDO This is needed for types that aren't natively exposed to Python (such as Blueprint generated types) Change 3989890 by Jamie.Dale Moved BlutilityActor to be Private in EditorScriptingUtils This can be removed once it's no longer needed. Change 3989900 by Jamie.Dale Updated EditorScriptingUtilities to use the Public/Private folder structure for source code Change 3990082 by Anousack.Kitisa Added plugin for Shotgun integration in Unreal. #jira UEENT-959 Change 3990783 by Anousack.Kitisa Changed ShotgunMenuItem to a struct. Change 3991139 by Jamie.Dale Minimized use of GUnrealEd (favoring GEditor) so that this code can be used by commandlets Removed redundant usages of GEditor/GUnrealEd from within UEditorEngine itself, and fixed cases where null data was being accessed. Testing that loading, saving, and creating a new blank map will now work in a commandlet without crashing. Change 3993189 by Jamie.Dale Fixed some mismatched return types Change 3993191 by Jamie.Dale Inital support for taking the GIL at key points where external C code calls into Python Change 3993683 by Patrick.Boutot [LTC] Add a CustomTimeStep that decode a LinearTimecode from the MediaSource. The MediaPlayer need to support buffering and should not run late since it's used to tick the engine time. Update DropTimecode to use the new Timecode structure in TimeManagement. Change 3994430 by Jamie.Dale Adjusted how inline structs work so that types known at compile time can inline allocate without being fully hand-wrapped in Python They must now be registered via FPyWrapperTypeRegistry::RegisterInlineStructFactory before we start generating wrapped types Change 3996083 by Jamie.Dale Added a distinct type for generated enum types so that you can query their available enum entries Change 3998253 by conan.reis Remove redundant Perforce error output from the log Change 4000307 by JeanMichel.Dignard Optimized FFbxImporter::ValidateAllMeshesAreReferenceByNodeAttribute() - Stored all scene nodes geometry ids in a set instead of looping on all scene nodes for every geometry. O(N) instead of O(N^2). - For 38685 scene nodes and 5417 geometry, the time went from 2 min 21.688 s to 0 min 0.098 s. Change 4000605 by Jamie.Dale Added support for constant "hoisting" This allows you to tag a helper function that returns a constant with ScriptConstant meta-data (providing a potentially overridden name) to "hoist" that helper function to be a constant of the type it operates on when wrapped for Python (ScriptConstantHost can be used to host the constant on a struct rather than its own object). Change 4001617 by Jamie.Dale Updated ScriptMethod and ScriptConstant to allow hoisting onto other classes as well as structs This allows you to have a runtime class be extended via methods in an editor-only module Change 4005287 by Jamie.Dale Added a GIL lock when Slate Tick events call back into Python Change 4005383 by Andrew.Rodham Sequencer: Initial scripting exposure and support First pass includes the following: - Find/add/interate master tracks - Find/add/interate bindings (both possessables and spawnables) - Find/add/interate tracks on bindings - Add/interate sections on tracks - Get/Set section ranges Change 4008609 by Jamie.Dale Added some missing native Python types to the documentation Native modules now build up a list of types and functions associated with them. This information is then passed through to the document generation to ensure that all exposed native types and functions are documented. In addition, any native Python module files are now assimilated into the unreal.py stub file and parsed so that they can be documented too. Change 4008654 by Jamie.Dale Allow math operators to use the base type versions unless overridden Change 4009740 by Patrick.Boutot Add BP function to convert a Timecode into a string. Change 4009763 by Patrick.Boutot Update AudioCapture to retreive the SampleRate. Used by the LinearTimecode. Change the requested format from int16 to float since we converted it into that format later on. Change 4009768 by Andrew.Rodham Removed explicit names from ScriptName methods, expanded sequencer scripting range functionality Change 4009830 by Jamie.Dale Added support for UPARAM(ref) on arguments exposed to Python For standard functions, this just produces an input and output for the same argument (we can't mutate the input due to potential coercion). For ScriptMethod functions that use it on the 'self' argument, this will mark the function as "inline" and have the function apply the result of the 'self' argument back onto the 'self' instance after calling the function. Change 4010034 by Jamie.Dale Added support for init_unreal.py start-up scripts These can be placed in any known sys.path in Python, including the Content/Python folders we automatically add, and the UnrealEngine/Python directory under the users home directory. Change 4010422 by Jamie.Dale Improved errror reporting during Python generation It will now ensure if a debugger is attached to draw programmer attention to an error. Change 4010498 by Patrick.Boutot Remove unnecessary loop Timecode.ToFrameNumber() Change 4011312 by Jamie.Dale Duplicate deprecated names will no longer assert during Python glue generation They will now log a warning and continue Change 4012068 by JeanMichel.Dignard Allow to render thumbnails for newly created packages. - To render a thumbnail, you either need a customer thumbnail renderer or a cached thumbnail. Querying cached thumbnails fails for newly created packages because it calls DoesPackageExist which check on disk. This call is unnecessary since we're relying on FindPackage which only works for packages that are loaded in memory. Change 4013781 by Jamie.Dale FFrame::KismetExecutionMessage (or LogRuntimeError or LogRuntimeWarning) will now produce Python exceptions You can use these to emit warnings or errors from UFunctions wrapped for scripting, and when called from Python they will produce a Python exception (for errors), or Python warning (for warnings). Change 4014337 by Jamie.Dale Struct coercion now errors if you provide a sequence with too many elements This also makes sure that PyConversion doesn't set an error state if ESetErrorState::No is passed (which could have previously happened from type casting calls). Change 4015290 by Andrew.Rodham Sequencer: Moved runtime functionality from ISequencerChannelInterface to IMovieSceneChannelInterface - Rename IBatchChannelInterface to IMovieSceneChannelInterface - Removed MovieScene::Dilate() - Added TMovieSceneChannelTraits::SupportsDefaults to automatically stub out functions relating to channel defaults Change 4015664 by Jamie.Dale Renamed ScriptMathOp meta-data to ScriptOperator Change 4016230 by Jamie.Dale Fixed incorrect make/break path in Importance Sampling Library (for Importance Texture) Change 4017326 by Jamie.Dale Added make and break support in Python Structs that have a native make function will now use this as their constructor. This also adds support for breaking a struct into a tuple, either via a native break function, or via generic property enumeration. Change 4017551 by Jamie.Dale Removed redundant outer parameter from find/load_asset/package Change 4018594 by Jamie.Dale Added ScriptMethodSelfReturn as an alternative to UPARAM(ref) These two function signatures produce the same behavior and have the same cost in Python, the only difference is how they appear to Blueprints (and Blueprints seem to favor non-reference functions). UFUNCTION(..., meta=(ScriptMethod)) static void DoThing(UPARAM(ref) FThingType&, int32); UFUNCTION(..., meta=(ScriptMethod, ScriptMethodSelfReturn)) static FThingType DoThing(FThingType, int32); Change 4020956 by Anousack.Kitisa Added Shotgun to the Level Editor/World Outliner and Content Browser context menus when there's a selected actor or asset. #jira UEENT-1219 Change 4021986 by Anousack.Kitisa Used the Python startup scripts mechanism to launch the Shotgun bootstrap script. Related to Jira UE-57896. Change 4022993 by Jamie.Dale Added support for extra operators on Python structs You can now expose bool conversion and comparison operators (==, !=, <, <=, >, >=) in addition to the previous set of math operators. As part of this there is now stricter signature validation when generating the Python binding. Change 4023226 by Jamie.Dale Added Make and Break function for FSoftClassPath Change 4023348 by Jamie.Dale Exposed some methods and operators for PrimaryAssetId and PrimaryAssetType Change 4027911 by Jamie.Dale Cross-outer redirects are no longer applied in Python #jira UETOOL-1382 Change 4029618 by JeanMichel.Dignard Unreal Studio UX - Made "Unreal Studio" the default tab in the new project wizard if we're using an installed enterprise build. - Create new projects as enterprise projects if we're using an insalled enterprise build. #jira UEENT-1231, UEENT-796 Change 4030217 by Jamie.Dale Exposed ScopedSlowTask to Python #jira UETOOL-1375 Change 4030784 by Matt.Hoffman Sequencer curve editor now shows vertical axis labels. #jira UE-58160 Change 4030858 by JeanLuc.Corenthin Expose LOD creation thru Python: - Create one struct to hold onto reduction settings per LOD - Create one struct to hold onto an array of reduction settings and a parameter to enable of disable automatic computation of screen size - Create new method to apply reduction settings to an array of StaticMeshActors #jira UEENT-1232 Change 4032239 by Jamie.Dale Cleanup pass over wrapped structs - Code dealing with reflected structs now uses UScriptStruct rather than UStruct. - The old PyConversion::NativizeStruct and PyConversion::PythonizeStruct have been renamed to PyConversion::NativizeStructInstance and PyConversion::PythonizeStructInstance. - New PyConversion::NativizeStruct and PyConversion::PythonizeStruct functions have been added to convert an object (or Python type) to a UScriptStruct (akin to what PyConversion::NativizeClass and PyConversion::PythonizeClass does for UClass). Change 4032247 by Jamie.Dale Cleaned up some Python slow task code Change 4032251 by Jamie.Dale Added functions to get the Python type associated with an Unreal class, struct, or enum Change 4032258 by Jamie.Dale Added Python iterators for Unreal objects, classes, and structs, as well as the Python types wrapped by Unreal classes or structs #jira UETOOL-1380 Change 4032320 by Jamie.Dale Fixed Python object iterators skipping their first item Change 4032321 by Jamie.Dale Added Python iterators for actors and selected actors #jira UETOOL-1380 Change 4033908 by Anousack.Kitisa Added Shotgun settings for metadata tags. #jira UEENT-1175 Change 4033909 by Anousack.Kitisa Added wrapper function to sync Content Browser to assets for scripting. #jira UEENT-1218 Change 4034951 by Matt.Hoffman Media Tracks now highlight when added to a Sequence/UMG animation. Change 4034966 by Jamie.Dale Added GIL locks around post_init code that can be called from C++ Change 4035019 by Matt.Hoffman UMG Render Transforms + Margins now support infinite sections. Change 4035470 by Andrew.Rodham Introduced a common base class for all movie scene channel data, FMovieSceneChannel. Removed IMovieSceneChannelInterface. Renamed FMovieSceneChannelEditorData to FMovieSceneChannelMetaData. Renamed FMovieSceneChannel and TMovieSceneChannel to FMovieSceneChannelData and TMovieSceneChannelData, to make way for common channel base class. Renamed instances of 'specialized' channel editor data to 'extended' channel editor data. Introduced non-templated FMovieSceneChannelHandle and a templated version. Changed internal implementation to use a lookup rather than a directly resolved weak ptr. Various pieces of documentation and cleanup. Change 4037112 by Max.Chen Sequencer: Added some missing RF_Transactional flags to newly created sections. Change 4037121 by Max.Chen Sequence Recorder: Timecode recording Introduced an FSourceTimecode which is saved as editor only data to the MovieSceneSection and MovieScene. FSourceTimecode consists of an FFrameNumber delta that correlates the section's initial start time to an FTimecode. The FFrameNumber is adjusted whenever the section is moved. One use case for this is through sequence recorder, which captures the timecode at the start of recording and saves an FSourceTimecode per movie scene section it creates. If the section is moved, it can always be returned to its source timecode by the section's right click menu, "Sync to Source Timecode". #jira UESEQ-406 Change 4038462 by Jamie.Dale Added support for using Python callables with delegates All the "x_function" methods on delegates and multicast delegates now have an "x_callable" equivalent that take a Python callable (we attempt basic validation of the signature, but that only allows us to check the input argument count is what we expect). Internally the callable is wrapped in a UObject, so certain GC restrictions are present (and is why coercion is disabled for callables). Delegates wrapped in Python (including as a direct property of an object or struct, or inside a container) will be kept alive via the Python reference collection, however once there are no Python references left the proxy object will be allowed to die unless something external has taken a reference to the proxy object. Change 4039123 by James.McNatton Remove dependency on SteamController in VirtualCamera #rb none Change 4039162 by Jamie.Dale Fixed linter warnings about unescaped backslashes in docstrings Change 4039170 by Jamie.Dale No longer expose deprecated functions or properties if they clash with another Python exposed item Change 4039429 by Max.Chen Sequence Recorder: Swap to editor actors on end PIE if the actors to record were set to the PIE actors Change 4039442 by Max.Chen Sequence Recorder: Find the existing object binding and record into it if it exists. When recording to an existing object binding, if the track exists, remove all animation data and reuse the track. Change 4039477 by Jamie.Dale Added warnings for conflicting Python type and field names Change 4039478 by Jamie.Dale Fixed warnings for conflicting Python type and field names Change 4039511 by Max.Chen Sequencer: Remove all animation data for spawn track Change 4040649 by James.McNatton Multiple Virtual Camera bug fixes - Removed QAGame mannequin from test map - Fixed errors being generated when trying to load preset - Presets now properly load and save axis settings - Deleted presets should no longer linger in menus - Presets now save and load favorite status Change 4041356 by Max.Chen Sequence Recorder: Takes system #jira UESP-544 Change 4041589 by Jamie.Dale Added C++ source information (plugin, module, and file) to the Python doc string Change 4041746 by Jamie.Dale Made ScriptOperator more relaxed about its signature validation as long as the additional input parameters are defaulted Change 4041757 by James.McNatton Virtual Camera Bug Fixes - The Input Source dropdown now accurately reflects user selection - Input source changed to EditDefaultsOnly - Focus should no longer be set when the settings menu is open Change 4041823 by Jamie.Dale Made ScriptOperator more relaxed about its signature validation for defaulted input parameters Existing Blueprint exposed operator functions may both default required arguments, and add additional default arguments. ScriptOperator will now accept both of these as long as there are enough arguments, but not too many non-defaulted arguments. Change 4042956 by James.McNatton VirtualCamera bug fixes related to focus plane visualization - Removed extra focus plane that was being displayed - Added logic to adjust for nonuniform scaling of objects when settings up tracking focus Change 4043400 by James.McNatton Multiple bug fixes related to saving various values - Now saves matte opacity and updates on load - Now saves filmback format name and updates on load - Now saves desired distance units and updates on load Change 4043481 by James.McNatton Fixed issue in Virtual Camera where joystick movement would not properly apply locks after rotating #rb none Change 4044358 by Jamie.Dale Fixed some cases where empty default values would be lost from UHT Eg, empty strings, null objects Change 4044362 by Jamie.Dale Fixed old-style enums being missed by the Python glue generation if they're only referenced by a property of function Change 4044371 by Jamie.Dale Fixed default value application for some struct types that use a custom default value format when exported by UHT Change 4044417 by Max.Chen Sequence Recorder: Better default group names with an underscore separator for letters Change 4045164 by Jamie.Dale Hardened usage of CopyScriptStruct to ensure that the source type is a child of the destination type, and that the destination type is used to copy (to still allow slicing of derived data) Change 4045195 by Jamie.Dale Updated FPropValueOnScope::GetValue to be able to return the value for a particular array index Change 4045589 by James.McNatton Fixed packaging error for VirtualCamera plugin - Plugin is now a runtime plugin rather than developer - Fixed up associated warnings with saving and loading in editor Change 4046208 by James.McNatton Virtual Camera bug fixes - Adjusted how mattes and filmback works together - Should now always respond properly to changing filmback settings in UI - Should now match the correct view size within the matte under all circumstances Change 4046372 by Max.Chen Sequencer: Fix subsequence binding ids. #jira UE-55337 Change 4046694 by Max.Chen Sequence Recorder: Compile the template before finding the camera sequence id since the precompiled template is not up to date. Change 4046801 by Jamie.Dale Improved default values and return types used in the unreal.py stub file - Object and Struct types generate an __init__ function with the correct signature. - Struct __init__ functions list the correct default values (including when using make/break functions). - Methods now list the correct default values. - Get/Set getters return a value of the correct type. - Get/Set setters are no longer exported for read-only properties. - Constants resolve to the correct type and value. #jira UETOOL-1377 Change 4047023 by Jamie.Dale Added missing hook-up for % and %= in Python Change 4047100 by Jamie.Dale Operators are now exposed to unreal.py and generate docs stating which overloads are available Change 4047105 by Jamie.Dale String is now "str" in doc strings to match the Python type Change 4047714 by Max.Chen Sequencer: Resolved merge conflicts with Dev-Sequencer Change 4048150 by Jamie.Dale Fixed single-culture PO import/export failing #jira UE-47079 Change 4048653 by Andrew.Rodham Sequencer: Automatic re-evaluation is now suppressed for external changes that modified only default values on channels - The issue is that moving an object that is partially-keyed in sequencer, with auto-key off, will set default values for the non-keyed channels. Doing so will dirty the sequence, which causes a re-evaluation, which re-evalutes the keyed channels, which effectively undoes the external change. - This is now fixed by suppressing the automatic re-evaluation for a specific signature of a specific sequence, if that is the only thing that has dirtied the sequence. Any subsequent changes to the sequence will cause a re-evaluation, and the suppression to be wiped. #jira UE-57519 #jira UE-58487 Change 4048814 by Jamie.Dale Fixed syntax error if an enum had an unknown value Change 4048819 by Jamie.Dale Fixed struct init functions having the wrong default values Change 4048856 by JeanLuc.Corenthin - Removed LOD & collision functions from UEditorLevelLibrary - Created a new class, UEditorMeshLibrary, to hold onto functionalities related to StaticMeshes - Added method to set LODs on a static mesh - Added method to remove LODs from a static mesh - Added method to get number of LODs on a static mesh - Added method to get number of simple collisions onto a static mesh - Added method to get number of convex collisions onto a static mesh - Added method to add convex collision onto a static mesh - Added method to remove all collisions onto a static mesh #jira UEENT-1232 #jira UEENT-1233 Change 4048961 by Jamie.Dale Improved formatting of output parameters in doc strings #jira UETOOL-1376 Change 4048988 by Jamie.Dale Fixed context leakage between the console and files, and import "unreal" by default now in the console #jira UETOOL-1379 Change 4049912 by Max.Chen Sequence Recorder: Minor recording group name improvements. - Initialize newly created actor group with existing actor group's base path. - When duplicating, use the current group's name as the base. - When typing in a name, if it fits the group format, the name should be allowable if it doesn't conflict with existing group names/assets. Change 4049934 by Andrew.Rodham Sequencer: Minor clean-up of sequencer interfaces and overloads - Replaced remaining instances of void* with FMovieSceneChannel* now that we mandate a common base class - Changed remaining explicit calls to SetDefault to SetChannelDefault overload so it works correctly with the SupportsDefaults trait - Exposed ability to manually implement an ISequencerChannelInterface rather than using the default templated one Change 4050608 by conan.reis Was getting link error about use of FFrameTime in ULevelSequencePlaybackController::PlayFromBeginning() in the VirtualCamera plugin so added TimeManagement to its dependant modules so it compiles again. Change 4050899 by Max.Chen Sequencer: Allow actor components for synchronization #jira UE-58468 Change 4050900 by Max.Chen Sequence Recorder: Don't create a spawn section if the object is a possessable #jira UE-58272 Change 4050904 by Max.Chen Curve Editor: Fix for evaluation a section of time when one key is non-weighted and the other is weighted. What we do is evaluate them both as being weighted, but we don't have the weight value for the non-weighted tangent. The weight of the non-weighted tangent is implicilty 1/3rd the distance between the two points, so we just calculate that if needed. #jira UE-58573 Change 4050905 by Max.Chen Curve Editor: When calculating vertical extents find feature points where slopes are zero and check them in addition to the keys if the curve is cubic. Curves now fit correclty vertically. Also changed fudge to 5% from 10% to match up old editor. Tighter fits seems better. #jira UE-58571 Change 4050972 by James.McNatton Added functions to ISequenceRecorder - Calling StartRecording with an empty array now triggers recording without clearning queued recordings - Added function to queue an actor to be recorded - Added function to check the next take number for a given actor when using groups Change 4050994 by James.McNatton Bug fixes for Virtual Camera - Preset menu now shows dates in the timestamp - Resetting offsets now alerts the system to update UI Change 4051431 by David.Hibbitts Added a component and blueprint library to access LiveLink data in blueprints which also works in editor. Deprecated LiveLink Driven component #jira UESP-577 Change 4051475 by Patrick.Boutot Rename EditorMeshLibrary Merge AssetScriptingUtilititesEditor with EditorScriptingUtilities. Add Redirects. Change 4051558 by Patrick.Boutot EngineCustomTimeStep returns true when we also want to perform the default engine code. Change 4052106 by Andrew.Rodham Sequencer: Adding an example that creates a sequence out of the current editor selection Change 4052205 by Anousack.Kitisa Fixed selected asset paths referenced by selected actors when using context Shotgun menu. Added function to retrieve the work area directory for Shotgun. #jira UEENT-1220 Change 4052951 by James.McNatton Virtual Camera Sequence Recorder updates to integrate new take system - Takes no longer display unless sequence recorder has a group selected - Adjusted fix to packaging error - FPS value will no longer appear if sequence recorder isn't available Change 4053130 by mason.seay Updated Game Mode Override Change 4053273 by James.McNatton Virtual Camera cleanup adjustments Change 4053627 by Max.Chen Sequencer: Disable bind sequencer to PIE/simulate while recording. Change 4053628 by Max.Chen Sequence Recorder: Fix target animation not persisting #jira UE-58508 Change 4053871 by Max.Chen Image Plate: Fix icon path Change 4054370 by Patrick.Boutot Remove LiveLink warning. Create base a class for FLiveLinkFrameRate as suggested in GenericPlatformCompilerPreSetup.h Change 4054447 by Darren.Pegg AJA low level device API Blackmagic low level API MediaIOCore changes to support AJA/Blackmagic changes AJA Module converted to use MediaIOCore Blackmagic Module changes for MediaIOCore Blackmagic/AJA Binary files Change 4054769 by Patrick.Boutot Packaging error issue introduce with CL 4054370. #jira UE-58749 Change 4055443 by Max.Chen Sequencer: Fix crash in adding filler shot #jira UE-58767 Change 4056577 by JeanMichel.Dignard Fixed crash with automation tests. We would bind the default UEditorEngine to Automation and on map load, it would call PIE on GEditor but with recent changes, PIE is called on this and the default UEditorEngine is not initialized so it would crash with a null GameViewportClass. Now we'll bind Automation on UEditorEngine InitializeObjectReferences so that we're in a good state and it's only called for GEditor. #jira UE-58792 Change 4057238 by Jamie.Dale Fixed crash when renaming Python generated classes or structs Change 4058435 by Jamie.Dale Fixed lingering exception state when converting a dict to a struct Change 4058486 by mason.seay Removed remote.host call from map [CL 4060164 by JeanMichel Dignard in Main branch]
2018-05-09 10:24:50 -04:00
#include "Misc/App.h"
#include "Stats/StatsMisc.h"
#include "HAL/PlatformProcess.h"
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3821754 by Jamie.Dale [Python] Class property conversion now goes through NativizeClass/PythonizeClass This allows it to coerce from Python wrapped object types Change 3833107 by Patrick.Boutot Added functions to fill an existing DataTable from an existing CSV/JSON file. Change 3835044 by Aaron.Carlisle Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename. Change 3835466 by Patrick.Boutot Hide function from Python that need special compile command to be executed by the VM. Change 3839237 by Jamie.Dale Added a way to inspect the full chain of properties that are currently being serialized by an archive You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct). Change 3839974 by Jamie.Dale Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else Change 3842311 by Jamie.Dale Fixing potential null level assert Change 3842313 by Jamie.Dale Updated settings editor to handle external properties Change 3842316 by Jamie.Dale Allowing a console command to be given to GEditor/GEngine even if there's a player CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue. Change 3842867 by Jamie.Dale Added a way to generate diffs from editor transactions The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted. These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events. Change 3844428 by Patrick.Boutot Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script. Change 3845966 by Jamie.Dale Added support for minimal game RPC worlds These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world) Change 3848844 by Patrick.Boutot Expose EComponentMobility to blueprint. Change 3854616 by Patrick.Boutot Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise. Change 3856650 by Jamie.Dale Fixed a bug where transaction finalization could miss changes since the last snapshot Change 3864951 by Patrick.Boutot Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed. Change 3867158 by JeanMichel.Dignard UBT - Added the ability for dll programs to export symbols. #jira UEENT-541 Change 3872342 by Jamie.Dale Merging static analysis fixes from 4.19 Change 3879305 by Jamie.Dale Improved the processing of py files from exec commands The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments. Change 3879306 by Jamie.Dale Added a minimal commandlet for invoking Python scripts Change 3881631 by Jamie.Dale Added basic RTTI to Python meta-data types Change 3885384 by Jamie.Dale [Python] Prevent glue code using reserved names Change 3888957 by Patrick.Boutot In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject. The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing. Change 3888961 by Patrick.Boutot Fix FInterval::IsValid return type. Change 3888980 by Patrick.Boutot Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948. Change 3889165 by Patrick.Boutot Fix build. Missing include for Timespan. Introduce with CL 3888980. Change 3889261 by Jamie.Dale [Python] Fixing some more name conflicts in generated code Change 3889504 by Darren.Pegg Add option to change PreferredPixelFormat Change 3891193 by Patrick.Boutot Fix build. Missing include for Interval. Introduce with CL 3888980. Change 3897108 by Patrick.Boutot TTinterval use it own traits. Create a Interval traits for Timespan. #jira UEENT-947 Change 3899669 by Jamie.Dale Fixed Functions sometimes being exposed to Python as if they were Structs Change 3900692 by Jamie.Dale Removed some boilerplate associated with wrapping a basic type to Python You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example) Change 3901066 by conan.reis UE4 editor script bindings (Cobra) and helper functions for version control - exposed SourceControl class with common source control methods and associated SourceControlState structure - commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard) - commands store any errors in a shared error text object which is optionally printed to the error log - renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile() - included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages. Change 3901388 by Jamie.Dale Minimal Slate hooks for Python Change 3901456 by Jamie.Dale Added missing file Change 3901549 by Jamie.Dale Removing some more Windows defines that were causing build issues Change 3904518 by conan.reis Source Control - ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider Change 3905612 by Francis.Hurteau Optimize RemoveDuplicates somewhat using a TSet #jira UEENT-217 Change 3912626 by Jamie.Dale Fixed ShouldExcludeDerivedClasses option not working RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering. Change 3917739 by Jamie.Dale Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget Change 3917744 by Jamie.Dale Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime. Change 3918832 by Jamie.Dale Removed field iteration from Python function calls We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields. Change 3920648 by Patrick.Boutot Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen. Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization. Change 3921396 by Jamie.Dale Split up the generated type data to correspond to the type being wrapped A lot of types can just use the minimal set, but classes and structs have some extra data. Change 3921619 by conan.reis - add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again. - also added result info to FSourceControlWindows::PromptForCheckin() #jira UE-55255 Change 3921624 by conan.reis Removed Source Control common files from pre compiled header - main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp - remaining files have includes changed to accomodate Change 3921958 by conan.reis Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619 Change 3922740 by conan.reis Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion. They were previously removed in CL3921624 Change 3923375 by Jamie.Dale Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings Change 3926547 by Jamie.Dale Added support for struct method "hoisting" This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python. Change 3927050 by conan.reis Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers #JIRA UE-55256 Change 3929268 by conan.reis - fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected - removed Perforce error message about file folders outside of the workspace client mappings - clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled() #JIRA UE-55254 Change 3931024 by Rex.Hill Expose FBX and Texture import to python Change 3931273 by Rex.Hill Hide re-import slate notification pop-up during python automated asset import Change 3931368 by Jamie.Dale Stopped bools coercing to numeric types in Python nativization Change 3931374 by Jamie.Dale Added support for struct math operator "hoisting" This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python. Change 3932586 by Rex.Hill Removed file read into unused memory buffer during Fbx import Change 3934308 by Jamie.Dale Added a public interface for the Python plugin Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log. Change 3935088 by conan.reis - Added info/warning and error message storage to all the source control operation structures so additional information can be made available. - Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion. #JIRA UE-55257 Change 3936668 by Rex.Hill #jira UE-55985 Avoid re-allocation of memory buffer holding file bytes during asset import Change 3940596 by Rex.Hill #jira UE-55989 Optimize skeletal mesh import performance scaling Overlapping vertex check was O (N^2) 100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds Change 3942629 by Rex.Hill #jira UE-55995 Read fbx file only once during import Fixes a memory leak of FbxScene and reduces wait time during import. Change 3942884 by Rex.Hill Python asset import can now customize destination asset name Change 3946278 by Jamie.Dale Added stricter conversion for math operator arguments PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion. This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads). Change 3948455 by Jamie.Dale Added generic Tick function to FPythonScriptPlugin This can also handle init logic for after the engine is fully initialized Change 3948888 by Jamie.Dale Added settings for the Python plugin You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings). Change 3948982 by Jamie.Dale Fixed Python 3 build error caused by CObject being removed in Python 3.2 Change 3949614 by Francis.Hurteau Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer #jira UEENT-1053 Change 3950829 by Rex.Hill Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION Change 3953452 by Jamie.Dale Fixed some dependencies Change 3953645 by Jamie.Dale Fixed Python parameter packing treating bool output paramers as potential return values void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool. Change 3953850 by Jamie.Dale Fixed doc string generation for a function with multiple output paramters and no return value Change 3954279 by Jamie.Dale Initial support for exposing deprecated properties and functions to Python This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left. Change 3954922 by Rex.Hill Expose UnloadPackages to python Change 3955209 by Jamie.Dale Initial support for exposing deprecated classes to Python Change 3955248 by Jamie.Dale Added a way to load Unreal modules via Python unreal.load_module("modulename") Change 3955561 by Rex.Hill Expose asset export to python Change 3956068 by Rex.Hill Linux compile fix. Change 3960449 by Rex.Hill Fix automated test using bCombineMeshes Change 3960495 by Patrick.Boutot Add a temporary menu to show the MetaData of an asset. The menu will need to be updated to have a look and feel of the Detail View and support edition at one point. Change 3961599 by Rex.Hill Reduced peak memory during import of meshes related to duplicate vertex tracking Change 3962104 by Rex.Hill Disable import mesh overlapping corners memory optimization to because it can change uv generation Change 3962507 by Rex.Hill Fix uv generation Change 3965285 by Rex.Hill Add support for FBX export as ASCII #jira UE-56465 Change 3965287 by Rex.Hill Forgotten file, fbx export as ascii Change 3966772 by Simon.Tourangeau Fix MaterialExpressionFunctions for ExternalTexture support Change 3967014 by Jamie.Dale Added a way to get the CDO in Python Wrapped objects now have a get_default_object class method Change 3967151 by Jamie.Dale Added stats to track Python generation time Change 3968006 by Simon.Therriault Media Samples - Removed Locks and Min/Max SampleTime from queues - Added methods to fetch NextSampleTime and SampleCount in queues - Added MediaSource base class for players that want to be time synchronized #jira UEENT-948 Change 3969119 by Patrick.Boutot Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other. [CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
#include UE_INLINE_GENERATED_CPP_BY_NAME(FixedFrameRateCustomTimeStep)
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 @ 3972172) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3821754 by Jamie.Dale [Python] Class property conversion now goes through NativizeClass/PythonizeClass This allows it to coerce from Python wrapped object types Change 3833107 by Patrick.Boutot Added functions to fill an existing DataTable from an existing CSV/JSON file. Change 3835044 by Aaron.Carlisle Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename. Change 3835466 by Patrick.Boutot Hide function from Python that need special compile command to be executed by the VM. Change 3839237 by Jamie.Dale Added a way to inspect the full chain of properties that are currently being serialized by an archive You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct). Change 3839974 by Jamie.Dale Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else Change 3842311 by Jamie.Dale Fixing potential null level assert Change 3842313 by Jamie.Dale Updated settings editor to handle external properties Change 3842316 by Jamie.Dale Allowing a console command to be given to GEditor/GEngine even if there's a player CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue. Change 3842867 by Jamie.Dale Added a way to generate diffs from editor transactions The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted. These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events. Change 3844428 by Patrick.Boutot Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script. Change 3845966 by Jamie.Dale Added support for minimal game RPC worlds These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world) Change 3848844 by Patrick.Boutot Expose EComponentMobility to blueprint. Change 3854616 by Patrick.Boutot Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise. Change 3856650 by Jamie.Dale Fixed a bug where transaction finalization could miss changes since the last snapshot Change 3864951 by Patrick.Boutot Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed. Change 3867158 by JeanMichel.Dignard UBT - Added the ability for dll programs to export symbols. #jira UEENT-541 Change 3872342 by Jamie.Dale Merging static analysis fixes from 4.19 Change 3879305 by Jamie.Dale Improved the processing of py files from exec commands The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments. Change 3879306 by Jamie.Dale Added a minimal commandlet for invoking Python scripts Change 3881631 by Jamie.Dale Added basic RTTI to Python meta-data types Change 3885384 by Jamie.Dale [Python] Prevent glue code using reserved names Change 3888957 by Patrick.Boutot In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject. The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing. Change 3888961 by Patrick.Boutot Fix FInterval::IsValid return type. Change 3888980 by Patrick.Boutot Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948. Change 3889165 by Patrick.Boutot Fix build. Missing include for Timespan. Introduce with CL 3888980. Change 3889261 by Jamie.Dale [Python] Fixing some more name conflicts in generated code Change 3889504 by Darren.Pegg Add option to change PreferredPixelFormat Change 3891193 by Patrick.Boutot Fix build. Missing include for Interval. Introduce with CL 3888980. Change 3897108 by Patrick.Boutot TTinterval use it own traits. Create a Interval traits for Timespan. #jira UEENT-947 Change 3899669 by Jamie.Dale Fixed Functions sometimes being exposed to Python as if they were Structs Change 3900692 by Jamie.Dale Removed some boilerplate associated with wrapping a basic type to Python You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example) Change 3901066 by conan.reis UE4 editor script bindings (Cobra) and helper functions for version control - exposed SourceControl class with common source control methods and associated SourceControlState structure - commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard) - commands store any errors in a shared error text object which is optionally printed to the error log - renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile() - included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages. Change 3901388 by Jamie.Dale Minimal Slate hooks for Python Change 3901456 by Jamie.Dale Added missing file Change 3901549 by Jamie.Dale Removing some more Windows defines that were causing build issues Change 3904518 by conan.reis Source Control - ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider Change 3905612 by Francis.Hurteau Optimize RemoveDuplicates somewhat using a TSet #jira UEENT-217 Change 3912626 by Jamie.Dale Fixed ShouldExcludeDerivedClasses option not working RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering. Change 3917739 by Jamie.Dale Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget Change 3917744 by Jamie.Dale Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime. Change 3918832 by Jamie.Dale Removed field iteration from Python function calls We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields. Change 3920648 by Patrick.Boutot Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen. Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization. Change 3921396 by Jamie.Dale Split up the generated type data to correspond to the type being wrapped A lot of types can just use the minimal set, but classes and structs have some extra data. Change 3921619 by conan.reis - add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again. - also added result info to FSourceControlWindows::PromptForCheckin() #jira UE-55255 Change 3921624 by conan.reis Removed Source Control common files from pre compiled header - main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp - remaining files have includes changed to accomodate Change 3921958 by conan.reis Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619 Change 3922740 by conan.reis Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion. They were previously removed in CL3921624 Change 3923375 by Jamie.Dale Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings Change 3926547 by Jamie.Dale Added support for struct method "hoisting" This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python. Change 3927050 by conan.reis Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers #JIRA UE-55256 Change 3929268 by conan.reis - fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected - removed Perforce error message about file folders outside of the workspace client mappings - clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled() #JIRA UE-55254 Change 3931024 by Rex.Hill Expose FBX and Texture import to python Change 3931273 by Rex.Hill Hide re-import slate notification pop-up during python automated asset import Change 3931368 by Jamie.Dale Stopped bools coercing to numeric types in Python nativization Change 3931374 by Jamie.Dale Added support for struct math operator "hoisting" This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python. Change 3932586 by Rex.Hill Removed file read into unused memory buffer during Fbx import Change 3934308 by Jamie.Dale Added a public interface for the Python plugin Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log. Change 3935088 by conan.reis - Added info/warning and error message storage to all the source control operation structures so additional information can be made available. - Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion. #JIRA UE-55257 Change 3936668 by Rex.Hill #jira UE-55985 Avoid re-allocation of memory buffer holding file bytes during asset import Change 3940596 by Rex.Hill #jira UE-55989 Optimize skeletal mesh import performance scaling Overlapping vertex check was O (N^2) 100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds Change 3942629 by Rex.Hill #jira UE-55995 Read fbx file only once during import Fixes a memory leak of FbxScene and reduces wait time during import. Change 3942884 by Rex.Hill Python asset import can now customize destination asset name Change 3946278 by Jamie.Dale Added stricter conversion for math operator arguments PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion. This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads). Change 3948455 by Jamie.Dale Added generic Tick function to FPythonScriptPlugin This can also handle init logic for after the engine is fully initialized Change 3948888 by Jamie.Dale Added settings for the Python plugin You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings). Change 3948982 by Jamie.Dale Fixed Python 3 build error caused by CObject being removed in Python 3.2 Change 3949614 by Francis.Hurteau Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer #jira UEENT-1053 Change 3950829 by Rex.Hill Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION Change 3953452 by Jamie.Dale Fixed some dependencies Change 3953645 by Jamie.Dale Fixed Python parameter packing treating bool output paramers as potential return values void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool. Change 3953850 by Jamie.Dale Fixed doc string generation for a function with multiple output paramters and no return value Change 3954279 by Jamie.Dale Initial support for exposing deprecated properties and functions to Python This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left. Change 3954922 by Rex.Hill Expose UnloadPackages to python Change 3955209 by Jamie.Dale Initial support for exposing deprecated classes to Python Change 3955248 by Jamie.Dale Added a way to load Unreal modules via Python unreal.load_module("modulename") Change 3955561 by Rex.Hill Expose asset export to python Change 3956068 by Rex.Hill Linux compile fix. Change 3960449 by Rex.Hill Fix automated test using bCombineMeshes Change 3960495 by Patrick.Boutot Add a temporary menu to show the MetaData of an asset. The menu will need to be updated to have a look and feel of the Detail View and support edition at one point. Change 3961599 by Rex.Hill Reduced peak memory during import of meshes related to duplicate vertex tracking Change 3962104 by Rex.Hill Disable import mesh overlapping corners memory optimization to because it can change uv generation Change 3962507 by Rex.Hill Fix uv generation Change 3965285 by Rex.Hill Add support for FBX export as ASCII #jira UE-56465 Change 3965287 by Rex.Hill Forgotten file, fbx export as ascii Change 3966772 by Simon.Tourangeau Fix MaterialExpressionFunctions for ExternalTexture support Change 3967014 by Jamie.Dale Added a way to get the CDO in Python Wrapped objects now have a get_default_object class method Change 3967151 by Jamie.Dale Added stats to track Python generation time Change 3968006 by Simon.Therriault Media Samples - Removed Locks and Min/Max SampleTime from queues - Added methods to fetch NextSampleTime and SampleCount in queues - Added MediaSource base class for players that want to be time synchronized #jira UEENT-948 Change 3969119 by Patrick.Boutot Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other. [CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
UFixedFrameRateCustomTimeStep::UFixedFrameRateCustomTimeStep(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer)
{
}
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4059031) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3974233 by Rex.Hill Optimized BuildStaticMeshVertexAndIndexBuffers and TEdgeBuilder Change 3974234 by Rex.Hill Reduced number of calls to SaveRawMesh and LoadRawMesh Change 3974235 by Rex.Hill Optimized SaveRawMesh by pre-allocating buffer Change 3981370 by Jamie.Dale Added support for deprecated (renamed) classes, structs, enums, functions, and properties in Python The glue code generation will now use the existing redirects system to build deprecated entries for old names. You can also specify deprecated names to the ScriptName and ScriptMethod meta-data values by adding extra semi-colon separated entries (the first entry is the current name). Accessing deprecated objects in Python leads to a deprecation warning when developer mode is enabled. Change 3983875 by Jamie.Dale Exposed some asset registry functions that may be useful in a commandlet environment Change 3983901 by Jamie.Dale Hoisted some AssetData helpers onto the struct in Python Change 3988367 by Jamie.Dale Python now honors EditInstanceOnly and EditDefaultsOnly when setting property values Change 3988369 by Jamie.Dale Exposed generic get_default_object function that takes a type and returns you the CDO This is needed for types that aren't natively exposed to Python (such as Blueprint generated types) Change 3989890 by Jamie.Dale Moved BlutilityActor to be Private in EditorScriptingUtils This can be removed once it's no longer needed. Change 3989900 by Jamie.Dale Updated EditorScriptingUtilities to use the Public/Private folder structure for source code Change 3990082 by Anousack.Kitisa Added plugin for Shotgun integration in Unreal. #jira UEENT-959 Change 3990783 by Anousack.Kitisa Changed ShotgunMenuItem to a struct. Change 3991139 by Jamie.Dale Minimized use of GUnrealEd (favoring GEditor) so that this code can be used by commandlets Removed redundant usages of GEditor/GUnrealEd from within UEditorEngine itself, and fixed cases where null data was being accessed. Testing that loading, saving, and creating a new blank map will now work in a commandlet without crashing. Change 3993189 by Jamie.Dale Fixed some mismatched return types Change 3993191 by Jamie.Dale Inital support for taking the GIL at key points where external C code calls into Python Change 3993683 by Patrick.Boutot [LTC] Add a CustomTimeStep that decode a LinearTimecode from the MediaSource. The MediaPlayer need to support buffering and should not run late since it's used to tick the engine time. Update DropTimecode to use the new Timecode structure in TimeManagement. Change 3994430 by Jamie.Dale Adjusted how inline structs work so that types known at compile time can inline allocate without being fully hand-wrapped in Python They must now be registered via FPyWrapperTypeRegistry::RegisterInlineStructFactory before we start generating wrapped types Change 3996083 by Jamie.Dale Added a distinct type for generated enum types so that you can query their available enum entries Change 3998253 by conan.reis Remove redundant Perforce error output from the log Change 4000307 by JeanMichel.Dignard Optimized FFbxImporter::ValidateAllMeshesAreReferenceByNodeAttribute() - Stored all scene nodes geometry ids in a set instead of looping on all scene nodes for every geometry. O(N) instead of O(N^2). - For 38685 scene nodes and 5417 geometry, the time went from 2 min 21.688 s to 0 min 0.098 s. Change 4000605 by Jamie.Dale Added support for constant "hoisting" This allows you to tag a helper function that returns a constant with ScriptConstant meta-data (providing a potentially overridden name) to "hoist" that helper function to be a constant of the type it operates on when wrapped for Python (ScriptConstantHost can be used to host the constant on a struct rather than its own object). Change 4001617 by Jamie.Dale Updated ScriptMethod and ScriptConstant to allow hoisting onto other classes as well as structs This allows you to have a runtime class be extended via methods in an editor-only module Change 4005287 by Jamie.Dale Added a GIL lock when Slate Tick events call back into Python Change 4005383 by Andrew.Rodham Sequencer: Initial scripting exposure and support First pass includes the following: - Find/add/interate master tracks - Find/add/interate bindings (both possessables and spawnables) - Find/add/interate tracks on bindings - Add/interate sections on tracks - Get/Set section ranges Change 4008609 by Jamie.Dale Added some missing native Python types to the documentation Native modules now build up a list of types and functions associated with them. This information is then passed through to the document generation to ensure that all exposed native types and functions are documented. In addition, any native Python module files are now assimilated into the unreal.py stub file and parsed so that they can be documented too. Change 4008654 by Jamie.Dale Allow math operators to use the base type versions unless overridden Change 4009740 by Patrick.Boutot Add BP function to convert a Timecode into a string. Change 4009763 by Patrick.Boutot Update AudioCapture to retreive the SampleRate. Used by the LinearTimecode. Change the requested format from int16 to float since we converted it into that format later on. Change 4009768 by Andrew.Rodham Removed explicit names from ScriptName methods, expanded sequencer scripting range functionality Change 4009830 by Jamie.Dale Added support for UPARAM(ref) on arguments exposed to Python For standard functions, this just produces an input and output for the same argument (we can't mutate the input due to potential coercion). For ScriptMethod functions that use it on the 'self' argument, this will mark the function as "inline" and have the function apply the result of the 'self' argument back onto the 'self' instance after calling the function. Change 4010034 by Jamie.Dale Added support for init_unreal.py start-up scripts These can be placed in any known sys.path in Python, including the Content/Python folders we automatically add, and the UnrealEngine/Python directory under the users home directory. Change 4010422 by Jamie.Dale Improved errror reporting during Python generation It will now ensure if a debugger is attached to draw programmer attention to an error. Change 4010498 by Patrick.Boutot Remove unnecessary loop Timecode.ToFrameNumber() Change 4011312 by Jamie.Dale Duplicate deprecated names will no longer assert during Python glue generation They will now log a warning and continue Change 4012068 by JeanMichel.Dignard Allow to render thumbnails for newly created packages. - To render a thumbnail, you either need a customer thumbnail renderer or a cached thumbnail. Querying cached thumbnails fails for newly created packages because it calls DoesPackageExist which check on disk. This call is unnecessary since we're relying on FindPackage which only works for packages that are loaded in memory. Change 4013781 by Jamie.Dale FFrame::KismetExecutionMessage (or LogRuntimeError or LogRuntimeWarning) will now produce Python exceptions You can use these to emit warnings or errors from UFunctions wrapped for scripting, and when called from Python they will produce a Python exception (for errors), or Python warning (for warnings). Change 4014337 by Jamie.Dale Struct coercion now errors if you provide a sequence with too many elements This also makes sure that PyConversion doesn't set an error state if ESetErrorState::No is passed (which could have previously happened from type casting calls). Change 4015290 by Andrew.Rodham Sequencer: Moved runtime functionality from ISequencerChannelInterface to IMovieSceneChannelInterface - Rename IBatchChannelInterface to IMovieSceneChannelInterface - Removed MovieScene::Dilate() - Added TMovieSceneChannelTraits::SupportsDefaults to automatically stub out functions relating to channel defaults Change 4015664 by Jamie.Dale Renamed ScriptMathOp meta-data to ScriptOperator Change 4016230 by Jamie.Dale Fixed incorrect make/break path in Importance Sampling Library (for Importance Texture) Change 4017326 by Jamie.Dale Added make and break support in Python Structs that have a native make function will now use this as their constructor. This also adds support for breaking a struct into a tuple, either via a native break function, or via generic property enumeration. Change 4017551 by Jamie.Dale Removed redundant outer parameter from find/load_asset/package Change 4018594 by Jamie.Dale Added ScriptMethodSelfReturn as an alternative to UPARAM(ref) These two function signatures produce the same behavior and have the same cost in Python, the only difference is how they appear to Blueprints (and Blueprints seem to favor non-reference functions). UFUNCTION(..., meta=(ScriptMethod)) static void DoThing(UPARAM(ref) FThingType&, int32); UFUNCTION(..., meta=(ScriptMethod, ScriptMethodSelfReturn)) static FThingType DoThing(FThingType, int32); Change 4020956 by Anousack.Kitisa Added Shotgun to the Level Editor/World Outliner and Content Browser context menus when there's a selected actor or asset. #jira UEENT-1219 Change 4021986 by Anousack.Kitisa Used the Python startup scripts mechanism to launch the Shotgun bootstrap script. Related to Jira UE-57896. Change 4022993 by Jamie.Dale Added support for extra operators on Python structs You can now expose bool conversion and comparison operators (==, !=, <, <=, >, >=) in addition to the previous set of math operators. As part of this there is now stricter signature validation when generating the Python binding. Change 4023226 by Jamie.Dale Added Make and Break function for FSoftClassPath Change 4023348 by Jamie.Dale Exposed some methods and operators for PrimaryAssetId and PrimaryAssetType Change 4027911 by Jamie.Dale Cross-outer redirects are no longer applied in Python #jira UETOOL-1382 Change 4029618 by JeanMichel.Dignard Unreal Studio UX - Made "Unreal Studio" the default tab in the new project wizard if we're using an installed enterprise build. - Create new projects as enterprise projects if we're using an insalled enterprise build. #jira UEENT-1231, UEENT-796 Change 4030217 by Jamie.Dale Exposed ScopedSlowTask to Python #jira UETOOL-1375 Change 4030784 by Matt.Hoffman Sequencer curve editor now shows vertical axis labels. #jira UE-58160 Change 4030858 by JeanLuc.Corenthin Expose LOD creation thru Python: - Create one struct to hold onto reduction settings per LOD - Create one struct to hold onto an array of reduction settings and a parameter to enable of disable automatic computation of screen size - Create new method to apply reduction settings to an array of StaticMeshActors #jira UEENT-1232 Change 4032239 by Jamie.Dale Cleanup pass over wrapped structs - Code dealing with reflected structs now uses UScriptStruct rather than UStruct. - The old PyConversion::NativizeStruct and PyConversion::PythonizeStruct have been renamed to PyConversion::NativizeStructInstance and PyConversion::PythonizeStructInstance. - New PyConversion::NativizeStruct and PyConversion::PythonizeStruct functions have been added to convert an object (or Python type) to a UScriptStruct (akin to what PyConversion::NativizeClass and PyConversion::PythonizeClass does for UClass). Change 4032247 by Jamie.Dale Cleaned up some Python slow task code Change 4032251 by Jamie.Dale Added functions to get the Python type associated with an Unreal class, struct, or enum Change 4032258 by Jamie.Dale Added Python iterators for Unreal objects, classes, and structs, as well as the Python types wrapped by Unreal classes or structs #jira UETOOL-1380 Change 4032320 by Jamie.Dale Fixed Python object iterators skipping their first item Change 4032321 by Jamie.Dale Added Python iterators for actors and selected actors #jira UETOOL-1380 Change 4033908 by Anousack.Kitisa Added Shotgun settings for metadata tags. #jira UEENT-1175 Change 4033909 by Anousack.Kitisa Added wrapper function to sync Content Browser to assets for scripting. #jira UEENT-1218 Change 4034951 by Matt.Hoffman Media Tracks now highlight when added to a Sequence/UMG animation. Change 4034966 by Jamie.Dale Added GIL locks around post_init code that can be called from C++ Change 4035019 by Matt.Hoffman UMG Render Transforms + Margins now support infinite sections. Change 4035470 by Andrew.Rodham Introduced a common base class for all movie scene channel data, FMovieSceneChannel. Removed IMovieSceneChannelInterface. Renamed FMovieSceneChannelEditorData to FMovieSceneChannelMetaData. Renamed FMovieSceneChannel and TMovieSceneChannel to FMovieSceneChannelData and TMovieSceneChannelData, to make way for common channel base class. Renamed instances of 'specialized' channel editor data to 'extended' channel editor data. Introduced non-templated FMovieSceneChannelHandle and a templated version. Changed internal implementation to use a lookup rather than a directly resolved weak ptr. Various pieces of documentation and cleanup. Change 4037112 by Max.Chen Sequencer: Added some missing RF_Transactional flags to newly created sections. Change 4037121 by Max.Chen Sequence Recorder: Timecode recording Introduced an FSourceTimecode which is saved as editor only data to the MovieSceneSection and MovieScene. FSourceTimecode consists of an FFrameNumber delta that correlates the section's initial start time to an FTimecode. The FFrameNumber is adjusted whenever the section is moved. One use case for this is through sequence recorder, which captures the timecode at the start of recording and saves an FSourceTimecode per movie scene section it creates. If the section is moved, it can always be returned to its source timecode by the section's right click menu, "Sync to Source Timecode". #jira UESEQ-406 Change 4038462 by Jamie.Dale Added support for using Python callables with delegates All the "x_function" methods on delegates and multicast delegates now have an "x_callable" equivalent that take a Python callable (we attempt basic validation of the signature, but that only allows us to check the input argument count is what we expect). Internally the callable is wrapped in a UObject, so certain GC restrictions are present (and is why coercion is disabled for callables). Delegates wrapped in Python (including as a direct property of an object or struct, or inside a container) will be kept alive via the Python reference collection, however once there are no Python references left the proxy object will be allowed to die unless something external has taken a reference to the proxy object. Change 4039123 by James.McNatton Remove dependency on SteamController in VirtualCamera #rb none Change 4039162 by Jamie.Dale Fixed linter warnings about unescaped backslashes in docstrings Change 4039170 by Jamie.Dale No longer expose deprecated functions or properties if they clash with another Python exposed item Change 4039429 by Max.Chen Sequence Recorder: Swap to editor actors on end PIE if the actors to record were set to the PIE actors Change 4039442 by Max.Chen Sequence Recorder: Find the existing object binding and record into it if it exists. When recording to an existing object binding, if the track exists, remove all animation data and reuse the track. Change 4039477 by Jamie.Dale Added warnings for conflicting Python type and field names Change 4039478 by Jamie.Dale Fixed warnings for conflicting Python type and field names Change 4039511 by Max.Chen Sequencer: Remove all animation data for spawn track Change 4040649 by James.McNatton Multiple Virtual Camera bug fixes - Removed QAGame mannequin from test map - Fixed errors being generated when trying to load preset - Presets now properly load and save axis settings - Deleted presets should no longer linger in menus - Presets now save and load favorite status Change 4041356 by Max.Chen Sequence Recorder: Takes system #jira UESP-544 Change 4041589 by Jamie.Dale Added C++ source information (plugin, module, and file) to the Python doc string Change 4041746 by Jamie.Dale Made ScriptOperator more relaxed about its signature validation as long as the additional input parameters are defaulted Change 4041757 by James.McNatton Virtual Camera Bug Fixes - The Input Source dropdown now accurately reflects user selection - Input source changed to EditDefaultsOnly - Focus should no longer be set when the settings menu is open Change 4041823 by Jamie.Dale Made ScriptOperator more relaxed about its signature validation for defaulted input parameters Existing Blueprint exposed operator functions may both default required arguments, and add additional default arguments. ScriptOperator will now accept both of these as long as there are enough arguments, but not too many non-defaulted arguments. Change 4042956 by James.McNatton VirtualCamera bug fixes related to focus plane visualization - Removed extra focus plane that was being displayed - Added logic to adjust for nonuniform scaling of objects when settings up tracking focus Change 4043400 by James.McNatton Multiple bug fixes related to saving various values - Now saves matte opacity and updates on load - Now saves filmback format name and updates on load - Now saves desired distance units and updates on load Change 4043481 by James.McNatton Fixed issue in Virtual Camera where joystick movement would not properly apply locks after rotating #rb none Change 4044358 by Jamie.Dale Fixed some cases where empty default values would be lost from UHT Eg, empty strings, null objects Change 4044362 by Jamie.Dale Fixed old-style enums being missed by the Python glue generation if they're only referenced by a property of function Change 4044371 by Jamie.Dale Fixed default value application for some struct types that use a custom default value format when exported by UHT Change 4044417 by Max.Chen Sequence Recorder: Better default group names with an underscore separator for letters Change 4045164 by Jamie.Dale Hardened usage of CopyScriptStruct to ensure that the source type is a child of the destination type, and that the destination type is used to copy (to still allow slicing of derived data) Change 4045195 by Jamie.Dale Updated FPropValueOnScope::GetValue to be able to return the value for a particular array index Change 4045589 by James.McNatton Fixed packaging error for VirtualCamera plugin - Plugin is now a runtime plugin rather than developer - Fixed up associated warnings with saving and loading in editor Change 4046208 by James.McNatton Virtual Camera bug fixes - Adjusted how mattes and filmback works together - Should now always respond properly to changing filmback settings in UI - Should now match the correct view size within the matte under all circumstances Change 4046372 by Max.Chen Sequencer: Fix subsequence binding ids. #jira UE-55337 Change 4046694 by Max.Chen Sequence Recorder: Compile the template before finding the camera sequence id since the precompiled template is not up to date. Change 4046801 by Jamie.Dale Improved default values and return types used in the unreal.py stub file - Object and Struct types generate an __init__ function with the correct signature. - Struct __init__ functions list the correct default values (including when using make/break functions). - Methods now list the correct default values. - Get/Set getters return a value of the correct type. - Get/Set setters are no longer exported for read-only properties. - Constants resolve to the correct type and value. #jira UETOOL-1377 Change 4047023 by Jamie.Dale Added missing hook-up for % and %= in Python Change 4047100 by Jamie.Dale Operators are now exposed to unreal.py and generate docs stating which overloads are available Change 4047105 by Jamie.Dale String is now "str" in doc strings to match the Python type Change 4047714 by Max.Chen Sequencer: Resolved merge conflicts with Dev-Sequencer Change 4048150 by Jamie.Dale Fixed single-culture PO import/export failing #jira UE-47079 Change 4048653 by Andrew.Rodham Sequencer: Automatic re-evaluation is now suppressed for external changes that modified only default values on channels - The issue is that moving an object that is partially-keyed in sequencer, with auto-key off, will set default values for the non-keyed channels. Doing so will dirty the sequence, which causes a re-evaluation, which re-evalutes the keyed channels, which effectively undoes the external change. - This is now fixed by suppressing the automatic re-evaluation for a specific signature of a specific sequence, if that is the only thing that has dirtied the sequence. Any subsequent changes to the sequence will cause a re-evaluation, and the suppression to be wiped. #jira UE-57519 #jira UE-58487 Change 4048814 by Jamie.Dale Fixed syntax error if an enum had an unknown value Change 4048819 by Jamie.Dale Fixed struct init functions having the wrong default values Change 4048856 by JeanLuc.Corenthin - Removed LOD & collision functions from UEditorLevelLibrary - Created a new class, UEditorMeshLibrary, to hold onto functionalities related to StaticMeshes - Added method to set LODs on a static mesh - Added method to remove LODs from a static mesh - Added method to get number of LODs on a static mesh - Added method to get number of simple collisions onto a static mesh - Added method to get number of convex collisions onto a static mesh - Added method to add convex collision onto a static mesh - Added method to remove all collisions onto a static mesh #jira UEENT-1232 #jira UEENT-1233 Change 4048961 by Jamie.Dale Improved formatting of output parameters in doc strings #jira UETOOL-1376 Change 4048988 by Jamie.Dale Fixed context leakage between the console and files, and import "unreal" by default now in the console #jira UETOOL-1379 Change 4049912 by Max.Chen Sequence Recorder: Minor recording group name improvements. - Initialize newly created actor group with existing actor group's base path. - When duplicating, use the current group's name as the base. - When typing in a name, if it fits the group format, the name should be allowable if it doesn't conflict with existing group names/assets. Change 4049934 by Andrew.Rodham Sequencer: Minor clean-up of sequencer interfaces and overloads - Replaced remaining instances of void* with FMovieSceneChannel* now that we mandate a common base class - Changed remaining explicit calls to SetDefault to SetChannelDefault overload so it works correctly with the SupportsDefaults trait - Exposed ability to manually implement an ISequencerChannelInterface rather than using the default templated one Change 4050608 by conan.reis Was getting link error about use of FFrameTime in ULevelSequencePlaybackController::PlayFromBeginning() in the VirtualCamera plugin so added TimeManagement to its dependant modules so it compiles again. Change 4050899 by Max.Chen Sequencer: Allow actor components for synchronization #jira UE-58468 Change 4050900 by Max.Chen Sequence Recorder: Don't create a spawn section if the object is a possessable #jira UE-58272 Change 4050904 by Max.Chen Curve Editor: Fix for evaluation a section of time when one key is non-weighted and the other is weighted. What we do is evaluate them both as being weighted, but we don't have the weight value for the non-weighted tangent. The weight of the non-weighted tangent is implicilty 1/3rd the distance between the two points, so we just calculate that if needed. #jira UE-58573 Change 4050905 by Max.Chen Curve Editor: When calculating vertical extents find feature points where slopes are zero and check them in addition to the keys if the curve is cubic. Curves now fit correclty vertically. Also changed fudge to 5% from 10% to match up old editor. Tighter fits seems better. #jira UE-58571 Change 4050972 by James.McNatton Added functions to ISequenceRecorder - Calling StartRecording with an empty array now triggers recording without clearning queued recordings - Added function to queue an actor to be recorded - Added function to check the next take number for a given actor when using groups Change 4050994 by James.McNatton Bug fixes for Virtual Camera - Preset menu now shows dates in the timestamp - Resetting offsets now alerts the system to update UI Change 4051431 by David.Hibbitts Added a component and blueprint library to access LiveLink data in blueprints which also works in editor. Deprecated LiveLink Driven component #jira UESP-577 Change 4051475 by Patrick.Boutot Rename EditorMeshLibrary Merge AssetScriptingUtilititesEditor with EditorScriptingUtilities. Add Redirects. Change 4051558 by Patrick.Boutot EngineCustomTimeStep returns true when we also want to perform the default engine code. Change 4052106 by Andrew.Rodham Sequencer: Adding an example that creates a sequence out of the current editor selection Change 4052205 by Anousack.Kitisa Fixed selected asset paths referenced by selected actors when using context Shotgun menu. Added function to retrieve the work area directory for Shotgun. #jira UEENT-1220 Change 4052951 by James.McNatton Virtual Camera Sequence Recorder updates to integrate new take system - Takes no longer display unless sequence recorder has a group selected - Adjusted fix to packaging error - FPS value will no longer appear if sequence recorder isn't available Change 4053130 by mason.seay Updated Game Mode Override Change 4053273 by James.McNatton Virtual Camera cleanup adjustments Change 4053627 by Max.Chen Sequencer: Disable bind sequencer to PIE/simulate while recording. Change 4053628 by Max.Chen Sequence Recorder: Fix target animation not persisting #jira UE-58508 Change 4053871 by Max.Chen Image Plate: Fix icon path Change 4054370 by Patrick.Boutot Remove LiveLink warning. Create base a class for FLiveLinkFrameRate as suggested in GenericPlatformCompilerPreSetup.h Change 4054447 by Darren.Pegg AJA low level device API Blackmagic low level API MediaIOCore changes to support AJA/Blackmagic changes AJA Module converted to use MediaIOCore Blackmagic Module changes for MediaIOCore Blackmagic/AJA Binary files Change 4054769 by Patrick.Boutot Packaging error issue introduce with CL 4054370. #jira UE-58749 Change 4055443 by Max.Chen Sequencer: Fix crash in adding filler shot #jira UE-58767 Change 4056577 by JeanMichel.Dignard Fixed crash with automation tests. We would bind the default UEditorEngine to Automation and on map load, it would call PIE on GEditor but with recent changes, PIE is called on this and the default UEditorEngine is not initialized so it would crash with a null GameViewportClass. Now we'll bind Automation on UEditorEngine InitializeObjectReferences so that we're in a good state and it's only called for GEditor. #jira UE-58792 Change 4057238 by Jamie.Dale Fixed crash when renaming Python generated classes or structs Change 4058435 by Jamie.Dale Fixed lingering exception state when converting a dict to a struct Change 4058486 by mason.seay Removed remote.host call from map [CL 4060164 by JeanMichel Dignard in Main branch]
2018-05-09 10:24:50 -04:00
void UFixedFrameRateCustomTimeStep::WaitForFixedFrameRate() const
{
UpdateApplicationLastTime();
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3821754 by Jamie.Dale [Python] Class property conversion now goes through NativizeClass/PythonizeClass This allows it to coerce from Python wrapped object types Change 3833107 by Patrick.Boutot Added functions to fill an existing DataTable from an existing CSV/JSON file. Change 3835044 by Aaron.Carlisle Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename. Change 3835466 by Patrick.Boutot Hide function from Python that need special compile command to be executed by the VM. Change 3839237 by Jamie.Dale Added a way to inspect the full chain of properties that are currently being serialized by an archive You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct). Change 3839974 by Jamie.Dale Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else Change 3842311 by Jamie.Dale Fixing potential null level assert Change 3842313 by Jamie.Dale Updated settings editor to handle external properties Change 3842316 by Jamie.Dale Allowing a console command to be given to GEditor/GEngine even if there's a player CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue. Change 3842867 by Jamie.Dale Added a way to generate diffs from editor transactions The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted. These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events. Change 3844428 by Patrick.Boutot Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script. Change 3845966 by Jamie.Dale Added support for minimal game RPC worlds These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world) Change 3848844 by Patrick.Boutot Expose EComponentMobility to blueprint. Change 3854616 by Patrick.Boutot Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise. Change 3856650 by Jamie.Dale Fixed a bug where transaction finalization could miss changes since the last snapshot Change 3864951 by Patrick.Boutot Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed. Change 3867158 by JeanMichel.Dignard UBT - Added the ability for dll programs to export symbols. #jira UEENT-541 Change 3872342 by Jamie.Dale Merging static analysis fixes from 4.19 Change 3879305 by Jamie.Dale Improved the processing of py files from exec commands The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments. Change 3879306 by Jamie.Dale Added a minimal commandlet for invoking Python scripts Change 3881631 by Jamie.Dale Added basic RTTI to Python meta-data types Change 3885384 by Jamie.Dale [Python] Prevent glue code using reserved names Change 3888957 by Patrick.Boutot In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject. The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing. Change 3888961 by Patrick.Boutot Fix FInterval::IsValid return type. Change 3888980 by Patrick.Boutot Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948. Change 3889165 by Patrick.Boutot Fix build. Missing include for Timespan. Introduce with CL 3888980. Change 3889261 by Jamie.Dale [Python] Fixing some more name conflicts in generated code Change 3889504 by Darren.Pegg Add option to change PreferredPixelFormat Change 3891193 by Patrick.Boutot Fix build. Missing include for Interval. Introduce with CL 3888980. Change 3897108 by Patrick.Boutot TTinterval use it own traits. Create a Interval traits for Timespan. #jira UEENT-947 Change 3899669 by Jamie.Dale Fixed Functions sometimes being exposed to Python as if they were Structs Change 3900692 by Jamie.Dale Removed some boilerplate associated with wrapping a basic type to Python You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example) Change 3901066 by conan.reis UE4 editor script bindings (Cobra) and helper functions for version control - exposed SourceControl class with common source control methods and associated SourceControlState structure - commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard) - commands store any errors in a shared error text object which is optionally printed to the error log - renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile() - included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages. Change 3901388 by Jamie.Dale Minimal Slate hooks for Python Change 3901456 by Jamie.Dale Added missing file Change 3901549 by Jamie.Dale Removing some more Windows defines that were causing build issues Change 3904518 by conan.reis Source Control - ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider Change 3905612 by Francis.Hurteau Optimize RemoveDuplicates somewhat using a TSet #jira UEENT-217 Change 3912626 by Jamie.Dale Fixed ShouldExcludeDerivedClasses option not working RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering. Change 3917739 by Jamie.Dale Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget Change 3917744 by Jamie.Dale Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime. Change 3918832 by Jamie.Dale Removed field iteration from Python function calls We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields. Change 3920648 by Patrick.Boutot Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen. Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization. Change 3921396 by Jamie.Dale Split up the generated type data to correspond to the type being wrapped A lot of types can just use the minimal set, but classes and structs have some extra data. Change 3921619 by conan.reis - add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again. - also added result info to FSourceControlWindows::PromptForCheckin() #jira UE-55255 Change 3921624 by conan.reis Removed Source Control common files from pre compiled header - main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp - remaining files have includes changed to accomodate Change 3921958 by conan.reis Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619 Change 3922740 by conan.reis Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion. They were previously removed in CL3921624 Change 3923375 by Jamie.Dale Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings Change 3926547 by Jamie.Dale Added support for struct method "hoisting" This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python. Change 3927050 by conan.reis Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers #JIRA UE-55256 Change 3929268 by conan.reis - fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected - removed Perforce error message about file folders outside of the workspace client mappings - clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled() #JIRA UE-55254 Change 3931024 by Rex.Hill Expose FBX and Texture import to python Change 3931273 by Rex.Hill Hide re-import slate notification pop-up during python automated asset import Change 3931368 by Jamie.Dale Stopped bools coercing to numeric types in Python nativization Change 3931374 by Jamie.Dale Added support for struct math operator "hoisting" This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python. Change 3932586 by Rex.Hill Removed file read into unused memory buffer during Fbx import Change 3934308 by Jamie.Dale Added a public interface for the Python plugin Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log. Change 3935088 by conan.reis - Added info/warning and error message storage to all the source control operation structures so additional information can be made available. - Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion. #JIRA UE-55257 Change 3936668 by Rex.Hill #jira UE-55985 Avoid re-allocation of memory buffer holding file bytes during asset import Change 3940596 by Rex.Hill #jira UE-55989 Optimize skeletal mesh import performance scaling Overlapping vertex check was O (N^2) 100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds Change 3942629 by Rex.Hill #jira UE-55995 Read fbx file only once during import Fixes a memory leak of FbxScene and reduces wait time during import. Change 3942884 by Rex.Hill Python asset import can now customize destination asset name Change 3946278 by Jamie.Dale Added stricter conversion for math operator arguments PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion. This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads). Change 3948455 by Jamie.Dale Added generic Tick function to FPythonScriptPlugin This can also handle init logic for after the engine is fully initialized Change 3948888 by Jamie.Dale Added settings for the Python plugin You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings). Change 3948982 by Jamie.Dale Fixed Python 3 build error caused by CObject being removed in Python 3.2 Change 3949614 by Francis.Hurteau Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer #jira UEENT-1053 Change 3950829 by Rex.Hill Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION Change 3953452 by Jamie.Dale Fixed some dependencies Change 3953645 by Jamie.Dale Fixed Python parameter packing treating bool output paramers as potential return values void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool. Change 3953850 by Jamie.Dale Fixed doc string generation for a function with multiple output paramters and no return value Change 3954279 by Jamie.Dale Initial support for exposing deprecated properties and functions to Python This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left. Change 3954922 by Rex.Hill Expose UnloadPackages to python Change 3955209 by Jamie.Dale Initial support for exposing deprecated classes to Python Change 3955248 by Jamie.Dale Added a way to load Unreal modules via Python unreal.load_module("modulename") Change 3955561 by Rex.Hill Expose asset export to python Change 3956068 by Rex.Hill Linux compile fix. Change 3960449 by Rex.Hill Fix automated test using bCombineMeshes Change 3960495 by Patrick.Boutot Add a temporary menu to show the MetaData of an asset. The menu will need to be updated to have a look and feel of the Detail View and support edition at one point. Change 3961599 by Rex.Hill Reduced peak memory during import of meshes related to duplicate vertex tracking Change 3962104 by Rex.Hill Disable import mesh overlapping corners memory optimization to because it can change uv generation Change 3962507 by Rex.Hill Fix uv generation Change 3965285 by Rex.Hill Add support for FBX export as ASCII #jira UE-56465 Change 3965287 by Rex.Hill Forgotten file, fbx export as ascii Change 3966772 by Simon.Tourangeau Fix MaterialExpressionFunctions for ExternalTexture support Change 3967014 by Jamie.Dale Added a way to get the CDO in Python Wrapped objects now have a get_default_object class method Change 3967151 by Jamie.Dale Added stats to track Python generation time Change 3968006 by Simon.Therriault Media Samples - Removed Locks and Min/Max SampleTime from queues - Added methods to fetch NextSampleTime and SampleCount in queues - Added MediaSource base class for players that want to be time synchronized #jira UEENT-948 Change 3969119 by Patrick.Boutot Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other. [CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4059031) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3974233 by Rex.Hill Optimized BuildStaticMeshVertexAndIndexBuffers and TEdgeBuilder Change 3974234 by Rex.Hill Reduced number of calls to SaveRawMesh and LoadRawMesh Change 3974235 by Rex.Hill Optimized SaveRawMesh by pre-allocating buffer Change 3981370 by Jamie.Dale Added support for deprecated (renamed) classes, structs, enums, functions, and properties in Python The glue code generation will now use the existing redirects system to build deprecated entries for old names. You can also specify deprecated names to the ScriptName and ScriptMethod meta-data values by adding extra semi-colon separated entries (the first entry is the current name). Accessing deprecated objects in Python leads to a deprecation warning when developer mode is enabled. Change 3983875 by Jamie.Dale Exposed some asset registry functions that may be useful in a commandlet environment Change 3983901 by Jamie.Dale Hoisted some AssetData helpers onto the struct in Python Change 3988367 by Jamie.Dale Python now honors EditInstanceOnly and EditDefaultsOnly when setting property values Change 3988369 by Jamie.Dale Exposed generic get_default_object function that takes a type and returns you the CDO This is needed for types that aren't natively exposed to Python (such as Blueprint generated types) Change 3989890 by Jamie.Dale Moved BlutilityActor to be Private in EditorScriptingUtils This can be removed once it's no longer needed. Change 3989900 by Jamie.Dale Updated EditorScriptingUtilities to use the Public/Private folder structure for source code Change 3990082 by Anousack.Kitisa Added plugin for Shotgun integration in Unreal. #jira UEENT-959 Change 3990783 by Anousack.Kitisa Changed ShotgunMenuItem to a struct. Change 3991139 by Jamie.Dale Minimized use of GUnrealEd (favoring GEditor) so that this code can be used by commandlets Removed redundant usages of GEditor/GUnrealEd from within UEditorEngine itself, and fixed cases where null data was being accessed. Testing that loading, saving, and creating a new blank map will now work in a commandlet without crashing. Change 3993189 by Jamie.Dale Fixed some mismatched return types Change 3993191 by Jamie.Dale Inital support for taking the GIL at key points where external C code calls into Python Change 3993683 by Patrick.Boutot [LTC] Add a CustomTimeStep that decode a LinearTimecode from the MediaSource. The MediaPlayer need to support buffering and should not run late since it's used to tick the engine time. Update DropTimecode to use the new Timecode structure in TimeManagement. Change 3994430 by Jamie.Dale Adjusted how inline structs work so that types known at compile time can inline allocate without being fully hand-wrapped in Python They must now be registered via FPyWrapperTypeRegistry::RegisterInlineStructFactory before we start generating wrapped types Change 3996083 by Jamie.Dale Added a distinct type for generated enum types so that you can query their available enum entries Change 3998253 by conan.reis Remove redundant Perforce error output from the log Change 4000307 by JeanMichel.Dignard Optimized FFbxImporter::ValidateAllMeshesAreReferenceByNodeAttribute() - Stored all scene nodes geometry ids in a set instead of looping on all scene nodes for every geometry. O(N) instead of O(N^2). - For 38685 scene nodes and 5417 geometry, the time went from 2 min 21.688 s to 0 min 0.098 s. Change 4000605 by Jamie.Dale Added support for constant "hoisting" This allows you to tag a helper function that returns a constant with ScriptConstant meta-data (providing a potentially overridden name) to "hoist" that helper function to be a constant of the type it operates on when wrapped for Python (ScriptConstantHost can be used to host the constant on a struct rather than its own object). Change 4001617 by Jamie.Dale Updated ScriptMethod and ScriptConstant to allow hoisting onto other classes as well as structs This allows you to have a runtime class be extended via methods in an editor-only module Change 4005287 by Jamie.Dale Added a GIL lock when Slate Tick events call back into Python Change 4005383 by Andrew.Rodham Sequencer: Initial scripting exposure and support First pass includes the following: - Find/add/interate master tracks - Find/add/interate bindings (both possessables and spawnables) - Find/add/interate tracks on bindings - Add/interate sections on tracks - Get/Set section ranges Change 4008609 by Jamie.Dale Added some missing native Python types to the documentation Native modules now build up a list of types and functions associated with them. This information is then passed through to the document generation to ensure that all exposed native types and functions are documented. In addition, any native Python module files are now assimilated into the unreal.py stub file and parsed so that they can be documented too. Change 4008654 by Jamie.Dale Allow math operators to use the base type versions unless overridden Change 4009740 by Patrick.Boutot Add BP function to convert a Timecode into a string. Change 4009763 by Patrick.Boutot Update AudioCapture to retreive the SampleRate. Used by the LinearTimecode. Change the requested format from int16 to float since we converted it into that format later on. Change 4009768 by Andrew.Rodham Removed explicit names from ScriptName methods, expanded sequencer scripting range functionality Change 4009830 by Jamie.Dale Added support for UPARAM(ref) on arguments exposed to Python For standard functions, this just produces an input and output for the same argument (we can't mutate the input due to potential coercion). For ScriptMethod functions that use it on the 'self' argument, this will mark the function as "inline" and have the function apply the result of the 'self' argument back onto the 'self' instance after calling the function. Change 4010034 by Jamie.Dale Added support for init_unreal.py start-up scripts These can be placed in any known sys.path in Python, including the Content/Python folders we automatically add, and the UnrealEngine/Python directory under the users home directory. Change 4010422 by Jamie.Dale Improved errror reporting during Python generation It will now ensure if a debugger is attached to draw programmer attention to an error. Change 4010498 by Patrick.Boutot Remove unnecessary loop Timecode.ToFrameNumber() Change 4011312 by Jamie.Dale Duplicate deprecated names will no longer assert during Python glue generation They will now log a warning and continue Change 4012068 by JeanMichel.Dignard Allow to render thumbnails for newly created packages. - To render a thumbnail, you either need a customer thumbnail renderer or a cached thumbnail. Querying cached thumbnails fails for newly created packages because it calls DoesPackageExist which check on disk. This call is unnecessary since we're relying on FindPackage which only works for packages that are loaded in memory. Change 4013781 by Jamie.Dale FFrame::KismetExecutionMessage (or LogRuntimeError or LogRuntimeWarning) will now produce Python exceptions You can use these to emit warnings or errors from UFunctions wrapped for scripting, and when called from Python they will produce a Python exception (for errors), or Python warning (for warnings). Change 4014337 by Jamie.Dale Struct coercion now errors if you provide a sequence with too many elements This also makes sure that PyConversion doesn't set an error state if ESetErrorState::No is passed (which could have previously happened from type casting calls). Change 4015290 by Andrew.Rodham Sequencer: Moved runtime functionality from ISequencerChannelInterface to IMovieSceneChannelInterface - Rename IBatchChannelInterface to IMovieSceneChannelInterface - Removed MovieScene::Dilate() - Added TMovieSceneChannelTraits::SupportsDefaults to automatically stub out functions relating to channel defaults Change 4015664 by Jamie.Dale Renamed ScriptMathOp meta-data to ScriptOperator Change 4016230 by Jamie.Dale Fixed incorrect make/break path in Importance Sampling Library (for Importance Texture) Change 4017326 by Jamie.Dale Added make and break support in Python Structs that have a native make function will now use this as their constructor. This also adds support for breaking a struct into a tuple, either via a native break function, or via generic property enumeration. Change 4017551 by Jamie.Dale Removed redundant outer parameter from find/load_asset/package Change 4018594 by Jamie.Dale Added ScriptMethodSelfReturn as an alternative to UPARAM(ref) These two function signatures produce the same behavior and have the same cost in Python, the only difference is how they appear to Blueprints (and Blueprints seem to favor non-reference functions). UFUNCTION(..., meta=(ScriptMethod)) static void DoThing(UPARAM(ref) FThingType&, int32); UFUNCTION(..., meta=(ScriptMethod, ScriptMethodSelfReturn)) static FThingType DoThing(FThingType, int32); Change 4020956 by Anousack.Kitisa Added Shotgun to the Level Editor/World Outliner and Content Browser context menus when there's a selected actor or asset. #jira UEENT-1219 Change 4021986 by Anousack.Kitisa Used the Python startup scripts mechanism to launch the Shotgun bootstrap script. Related to Jira UE-57896. Change 4022993 by Jamie.Dale Added support for extra operators on Python structs You can now expose bool conversion and comparison operators (==, !=, <, <=, >, >=) in addition to the previous set of math operators. As part of this there is now stricter signature validation when generating the Python binding. Change 4023226 by Jamie.Dale Added Make and Break function for FSoftClassPath Change 4023348 by Jamie.Dale Exposed some methods and operators for PrimaryAssetId and PrimaryAssetType Change 4027911 by Jamie.Dale Cross-outer redirects are no longer applied in Python #jira UETOOL-1382 Change 4029618 by JeanMichel.Dignard Unreal Studio UX - Made "Unreal Studio" the default tab in the new project wizard if we're using an installed enterprise build. - Create new projects as enterprise projects if we're using an insalled enterprise build. #jira UEENT-1231, UEENT-796 Change 4030217 by Jamie.Dale Exposed ScopedSlowTask to Python #jira UETOOL-1375 Change 4030784 by Matt.Hoffman Sequencer curve editor now shows vertical axis labels. #jira UE-58160 Change 4030858 by JeanLuc.Corenthin Expose LOD creation thru Python: - Create one struct to hold onto reduction settings per LOD - Create one struct to hold onto an array of reduction settings and a parameter to enable of disable automatic computation of screen size - Create new method to apply reduction settings to an array of StaticMeshActors #jira UEENT-1232 Change 4032239 by Jamie.Dale Cleanup pass over wrapped structs - Code dealing with reflected structs now uses UScriptStruct rather than UStruct. - The old PyConversion::NativizeStruct and PyConversion::PythonizeStruct have been renamed to PyConversion::NativizeStructInstance and PyConversion::PythonizeStructInstance. - New PyConversion::NativizeStruct and PyConversion::PythonizeStruct functions have been added to convert an object (or Python type) to a UScriptStruct (akin to what PyConversion::NativizeClass and PyConversion::PythonizeClass does for UClass). Change 4032247 by Jamie.Dale Cleaned up some Python slow task code Change 4032251 by Jamie.Dale Added functions to get the Python type associated with an Unreal class, struct, or enum Change 4032258 by Jamie.Dale Added Python iterators for Unreal objects, classes, and structs, as well as the Python types wrapped by Unreal classes or structs #jira UETOOL-1380 Change 4032320 by Jamie.Dale Fixed Python object iterators skipping their first item Change 4032321 by Jamie.Dale Added Python iterators for actors and selected actors #jira UETOOL-1380 Change 4033908 by Anousack.Kitisa Added Shotgun settings for metadata tags. #jira UEENT-1175 Change 4033909 by Anousack.Kitisa Added wrapper function to sync Content Browser to assets for scripting. #jira UEENT-1218 Change 4034951 by Matt.Hoffman Media Tracks now highlight when added to a Sequence/UMG animation. Change 4034966 by Jamie.Dale Added GIL locks around post_init code that can be called from C++ Change 4035019 by Matt.Hoffman UMG Render Transforms + Margins now support infinite sections. Change 4035470 by Andrew.Rodham Introduced a common base class for all movie scene channel data, FMovieSceneChannel. Removed IMovieSceneChannelInterface. Renamed FMovieSceneChannelEditorData to FMovieSceneChannelMetaData. Renamed FMovieSceneChannel and TMovieSceneChannel to FMovieSceneChannelData and TMovieSceneChannelData, to make way for common channel base class. Renamed instances of 'specialized' channel editor data to 'extended' channel editor data. Introduced non-templated FMovieSceneChannelHandle and a templated version. Changed internal implementation to use a lookup rather than a directly resolved weak ptr. Various pieces of documentation and cleanup. Change 4037112 by Max.Chen Sequencer: Added some missing RF_Transactional flags to newly created sections. Change 4037121 by Max.Chen Sequence Recorder: Timecode recording Introduced an FSourceTimecode which is saved as editor only data to the MovieSceneSection and MovieScene. FSourceTimecode consists of an FFrameNumber delta that correlates the section's initial start time to an FTimecode. The FFrameNumber is adjusted whenever the section is moved. One use case for this is through sequence recorder, which captures the timecode at the start of recording and saves an FSourceTimecode per movie scene section it creates. If the section is moved, it can always be returned to its source timecode by the section's right click menu, "Sync to Source Timecode". #jira UESEQ-406 Change 4038462 by Jamie.Dale Added support for using Python callables with delegates All the "x_function" methods on delegates and multicast delegates now have an "x_callable" equivalent that take a Python callable (we attempt basic validation of the signature, but that only allows us to check the input argument count is what we expect). Internally the callable is wrapped in a UObject, so certain GC restrictions are present (and is why coercion is disabled for callables). Delegates wrapped in Python (including as a direct property of an object or struct, or inside a container) will be kept alive via the Python reference collection, however once there are no Python references left the proxy object will be allowed to die unless something external has taken a reference to the proxy object. Change 4039123 by James.McNatton Remove dependency on SteamController in VirtualCamera #rb none Change 4039162 by Jamie.Dale Fixed linter warnings about unescaped backslashes in docstrings Change 4039170 by Jamie.Dale No longer expose deprecated functions or properties if they clash with another Python exposed item Change 4039429 by Max.Chen Sequence Recorder: Swap to editor actors on end PIE if the actors to record were set to the PIE actors Change 4039442 by Max.Chen Sequence Recorder: Find the existing object binding and record into it if it exists. When recording to an existing object binding, if the track exists, remove all animation data and reuse the track. Change 4039477 by Jamie.Dale Added warnings for conflicting Python type and field names Change 4039478 by Jamie.Dale Fixed warnings for conflicting Python type and field names Change 4039511 by Max.Chen Sequencer: Remove all animation data for spawn track Change 4040649 by James.McNatton Multiple Virtual Camera bug fixes - Removed QAGame mannequin from test map - Fixed errors being generated when trying to load preset - Presets now properly load and save axis settings - Deleted presets should no longer linger in menus - Presets now save and load favorite status Change 4041356 by Max.Chen Sequence Recorder: Takes system #jira UESP-544 Change 4041589 by Jamie.Dale Added C++ source information (plugin, module, and file) to the Python doc string Change 4041746 by Jamie.Dale Made ScriptOperator more relaxed about its signature validation as long as the additional input parameters are defaulted Change 4041757 by James.McNatton Virtual Camera Bug Fixes - The Input Source dropdown now accurately reflects user selection - Input source changed to EditDefaultsOnly - Focus should no longer be set when the settings menu is open Change 4041823 by Jamie.Dale Made ScriptOperator more relaxed about its signature validation for defaulted input parameters Existing Blueprint exposed operator functions may both default required arguments, and add additional default arguments. ScriptOperator will now accept both of these as long as there are enough arguments, but not too many non-defaulted arguments. Change 4042956 by James.McNatton VirtualCamera bug fixes related to focus plane visualization - Removed extra focus plane that was being displayed - Added logic to adjust for nonuniform scaling of objects when settings up tracking focus Change 4043400 by James.McNatton Multiple bug fixes related to saving various values - Now saves matte opacity and updates on load - Now saves filmback format name and updates on load - Now saves desired distance units and updates on load Change 4043481 by James.McNatton Fixed issue in Virtual Camera where joystick movement would not properly apply locks after rotating #rb none Change 4044358 by Jamie.Dale Fixed some cases where empty default values would be lost from UHT Eg, empty strings, null objects Change 4044362 by Jamie.Dale Fixed old-style enums being missed by the Python glue generation if they're only referenced by a property of function Change 4044371 by Jamie.Dale Fixed default value application for some struct types that use a custom default value format when exported by UHT Change 4044417 by Max.Chen Sequence Recorder: Better default group names with an underscore separator for letters Change 4045164 by Jamie.Dale Hardened usage of CopyScriptStruct to ensure that the source type is a child of the destination type, and that the destination type is used to copy (to still allow slicing of derived data) Change 4045195 by Jamie.Dale Updated FPropValueOnScope::GetValue to be able to return the value for a particular array index Change 4045589 by James.McNatton Fixed packaging error for VirtualCamera plugin - Plugin is now a runtime plugin rather than developer - Fixed up associated warnings with saving and loading in editor Change 4046208 by James.McNatton Virtual Camera bug fixes - Adjusted how mattes and filmback works together - Should now always respond properly to changing filmback settings in UI - Should now match the correct view size within the matte under all circumstances Change 4046372 by Max.Chen Sequencer: Fix subsequence binding ids. #jira UE-55337 Change 4046694 by Max.Chen Sequence Recorder: Compile the template before finding the camera sequence id since the precompiled template is not up to date. Change 4046801 by Jamie.Dale Improved default values and return types used in the unreal.py stub file - Object and Struct types generate an __init__ function with the correct signature. - Struct __init__ functions list the correct default values (including when using make/break functions). - Methods now list the correct default values. - Get/Set getters return a value of the correct type. - Get/Set setters are no longer exported for read-only properties. - Constants resolve to the correct type and value. #jira UETOOL-1377 Change 4047023 by Jamie.Dale Added missing hook-up for % and %= in Python Change 4047100 by Jamie.Dale Operators are now exposed to unreal.py and generate docs stating which overloads are available Change 4047105 by Jamie.Dale String is now "str" in doc strings to match the Python type Change 4047714 by Max.Chen Sequencer: Resolved merge conflicts with Dev-Sequencer Change 4048150 by Jamie.Dale Fixed single-culture PO import/export failing #jira UE-47079 Change 4048653 by Andrew.Rodham Sequencer: Automatic re-evaluation is now suppressed for external changes that modified only default values on channels - The issue is that moving an object that is partially-keyed in sequencer, with auto-key off, will set default values for the non-keyed channels. Doing so will dirty the sequence, which causes a re-evaluation, which re-evalutes the keyed channels, which effectively undoes the external change. - This is now fixed by suppressing the automatic re-evaluation for a specific signature of a specific sequence, if that is the only thing that has dirtied the sequence. Any subsequent changes to the sequence will cause a re-evaluation, and the suppression to be wiped. #jira UE-57519 #jira UE-58487 Change 4048814 by Jamie.Dale Fixed syntax error if an enum had an unknown value Change 4048819 by Jamie.Dale Fixed struct init functions having the wrong default values Change 4048856 by JeanLuc.Corenthin - Removed LOD & collision functions from UEditorLevelLibrary - Created a new class, UEditorMeshLibrary, to hold onto functionalities related to StaticMeshes - Added method to set LODs on a static mesh - Added method to remove LODs from a static mesh - Added method to get number of LODs on a static mesh - Added method to get number of simple collisions onto a static mesh - Added method to get number of convex collisions onto a static mesh - Added method to add convex collision onto a static mesh - Added method to remove all collisions onto a static mesh #jira UEENT-1232 #jira UEENT-1233 Change 4048961 by Jamie.Dale Improved formatting of output parameters in doc strings #jira UETOOL-1376 Change 4048988 by Jamie.Dale Fixed context leakage between the console and files, and import "unreal" by default now in the console #jira UETOOL-1379 Change 4049912 by Max.Chen Sequence Recorder: Minor recording group name improvements. - Initialize newly created actor group with existing actor group's base path. - When duplicating, use the current group's name as the base. - When typing in a name, if it fits the group format, the name should be allowable if it doesn't conflict with existing group names/assets. Change 4049934 by Andrew.Rodham Sequencer: Minor clean-up of sequencer interfaces and overloads - Replaced remaining instances of void* with FMovieSceneChannel* now that we mandate a common base class - Changed remaining explicit calls to SetDefault to SetChannelDefault overload so it works correctly with the SupportsDefaults trait - Exposed ability to manually implement an ISequencerChannelInterface rather than using the default templated one Change 4050608 by conan.reis Was getting link error about use of FFrameTime in ULevelSequencePlaybackController::PlayFromBeginning() in the VirtualCamera plugin so added TimeManagement to its dependant modules so it compiles again. Change 4050899 by Max.Chen Sequencer: Allow actor components for synchronization #jira UE-58468 Change 4050900 by Max.Chen Sequence Recorder: Don't create a spawn section if the object is a possessable #jira UE-58272 Change 4050904 by Max.Chen Curve Editor: Fix for evaluation a section of time when one key is non-weighted and the other is weighted. What we do is evaluate them both as being weighted, but we don't have the weight value for the non-weighted tangent. The weight of the non-weighted tangent is implicilty 1/3rd the distance between the two points, so we just calculate that if needed. #jira UE-58573 Change 4050905 by Max.Chen Curve Editor: When calculating vertical extents find feature points where slopes are zero and check them in addition to the keys if the curve is cubic. Curves now fit correclty vertically. Also changed fudge to 5% from 10% to match up old editor. Tighter fits seems better. #jira UE-58571 Change 4050972 by James.McNatton Added functions to ISequenceRecorder - Calling StartRecording with an empty array now triggers recording without clearning queued recordings - Added function to queue an actor to be recorded - Added function to check the next take number for a given actor when using groups Change 4050994 by James.McNatton Bug fixes for Virtual Camera - Preset menu now shows dates in the timestamp - Resetting offsets now alerts the system to update UI Change 4051431 by David.Hibbitts Added a component and blueprint library to access LiveLink data in blueprints which also works in editor. Deprecated LiveLink Driven component #jira UESP-577 Change 4051475 by Patrick.Boutot Rename EditorMeshLibrary Merge AssetScriptingUtilititesEditor with EditorScriptingUtilities. Add Redirects. Change 4051558 by Patrick.Boutot EngineCustomTimeStep returns true when we also want to perform the default engine code. Change 4052106 by Andrew.Rodham Sequencer: Adding an example that creates a sequence out of the current editor selection Change 4052205 by Anousack.Kitisa Fixed selected asset paths referenced by selected actors when using context Shotgun menu. Added function to retrieve the work area directory for Shotgun. #jira UEENT-1220 Change 4052951 by James.McNatton Virtual Camera Sequence Recorder updates to integrate new take system - Takes no longer display unless sequence recorder has a group selected - Adjusted fix to packaging error - FPS value will no longer appear if sequence recorder isn't available Change 4053130 by mason.seay Updated Game Mode Override Change 4053273 by James.McNatton Virtual Camera cleanup adjustments Change 4053627 by Max.Chen Sequencer: Disable bind sequencer to PIE/simulate while recording. Change 4053628 by Max.Chen Sequence Recorder: Fix target animation not persisting #jira UE-58508 Change 4053871 by Max.Chen Image Plate: Fix icon path Change 4054370 by Patrick.Boutot Remove LiveLink warning. Create base a class for FLiveLinkFrameRate as suggested in GenericPlatformCompilerPreSetup.h Change 4054447 by Darren.Pegg AJA low level device API Blackmagic low level API MediaIOCore changes to support AJA/Blackmagic changes AJA Module converted to use MediaIOCore Blackmagic Module changes for MediaIOCore Blackmagic/AJA Binary files Change 4054769 by Patrick.Boutot Packaging error issue introduce with CL 4054370. #jira UE-58749 Change 4055443 by Max.Chen Sequencer: Fix crash in adding filler shot #jira UE-58767 Change 4056577 by JeanMichel.Dignard Fixed crash with automation tests. We would bind the default UEditorEngine to Automation and on map load, it would call PIE on GEditor but with recent changes, PIE is called on this and the default UEditorEngine is not initialized so it would crash with a null GameViewportClass. Now we'll bind Automation on UEditorEngine InitializeObjectReferences so that we're in a good state and it's only called for GEditor. #jira UE-58792 Change 4057238 by Jamie.Dale Fixed crash when renaming Python generated classes or structs Change 4058435 by Jamie.Dale Fixed lingering exception state when converting a dict to a struct Change 4058486 by mason.seay Removed remote.host call from map [CL 4060164 by JeanMichel Dignard in Main branch]
2018-05-09 10:24:50 -04:00
const double CurrentTime = FPlatformTime::Seconds();
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 FFrameRate FrameRate = GetFixedFrameRate();
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4059031) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3974233 by Rex.Hill Optimized BuildStaticMeshVertexAndIndexBuffers and TEdgeBuilder Change 3974234 by Rex.Hill Reduced number of calls to SaveRawMesh and LoadRawMesh Change 3974235 by Rex.Hill Optimized SaveRawMesh by pre-allocating buffer Change 3981370 by Jamie.Dale Added support for deprecated (renamed) classes, structs, enums, functions, and properties in Python The glue code generation will now use the existing redirects system to build deprecated entries for old names. You can also specify deprecated names to the ScriptName and ScriptMethod meta-data values by adding extra semi-colon separated entries (the first entry is the current name). Accessing deprecated objects in Python leads to a deprecation warning when developer mode is enabled. Change 3983875 by Jamie.Dale Exposed some asset registry functions that may be useful in a commandlet environment Change 3983901 by Jamie.Dale Hoisted some AssetData helpers onto the struct in Python Change 3988367 by Jamie.Dale Python now honors EditInstanceOnly and EditDefaultsOnly when setting property values Change 3988369 by Jamie.Dale Exposed generic get_default_object function that takes a type and returns you the CDO This is needed for types that aren't natively exposed to Python (such as Blueprint generated types) Change 3989890 by Jamie.Dale Moved BlutilityActor to be Private in EditorScriptingUtils This can be removed once it's no longer needed. Change 3989900 by Jamie.Dale Updated EditorScriptingUtilities to use the Public/Private folder structure for source code Change 3990082 by Anousack.Kitisa Added plugin for Shotgun integration in Unreal. #jira UEENT-959 Change 3990783 by Anousack.Kitisa Changed ShotgunMenuItem to a struct. Change 3991139 by Jamie.Dale Minimized use of GUnrealEd (favoring GEditor) so that this code can be used by commandlets Removed redundant usages of GEditor/GUnrealEd from within UEditorEngine itself, and fixed cases where null data was being accessed. Testing that loading, saving, and creating a new blank map will now work in a commandlet without crashing. Change 3993189 by Jamie.Dale Fixed some mismatched return types Change 3993191 by Jamie.Dale Inital support for taking the GIL at key points where external C code calls into Python Change 3993683 by Patrick.Boutot [LTC] Add a CustomTimeStep that decode a LinearTimecode from the MediaSource. The MediaPlayer need to support buffering and should not run late since it's used to tick the engine time. Update DropTimecode to use the new Timecode structure in TimeManagement. Change 3994430 by Jamie.Dale Adjusted how inline structs work so that types known at compile time can inline allocate without being fully hand-wrapped in Python They must now be registered via FPyWrapperTypeRegistry::RegisterInlineStructFactory before we start generating wrapped types Change 3996083 by Jamie.Dale Added a distinct type for generated enum types so that you can query their available enum entries Change 3998253 by conan.reis Remove redundant Perforce error output from the log Change 4000307 by JeanMichel.Dignard Optimized FFbxImporter::ValidateAllMeshesAreReferenceByNodeAttribute() - Stored all scene nodes geometry ids in a set instead of looping on all scene nodes for every geometry. O(N) instead of O(N^2). - For 38685 scene nodes and 5417 geometry, the time went from 2 min 21.688 s to 0 min 0.098 s. Change 4000605 by Jamie.Dale Added support for constant "hoisting" This allows you to tag a helper function that returns a constant with ScriptConstant meta-data (providing a potentially overridden name) to "hoist" that helper function to be a constant of the type it operates on when wrapped for Python (ScriptConstantHost can be used to host the constant on a struct rather than its own object). Change 4001617 by Jamie.Dale Updated ScriptMethod and ScriptConstant to allow hoisting onto other classes as well as structs This allows you to have a runtime class be extended via methods in an editor-only module Change 4005287 by Jamie.Dale Added a GIL lock when Slate Tick events call back into Python Change 4005383 by Andrew.Rodham Sequencer: Initial scripting exposure and support First pass includes the following: - Find/add/interate master tracks - Find/add/interate bindings (both possessables and spawnables) - Find/add/interate tracks on bindings - Add/interate sections on tracks - Get/Set section ranges Change 4008609 by Jamie.Dale Added some missing native Python types to the documentation Native modules now build up a list of types and functions associated with them. This information is then passed through to the document generation to ensure that all exposed native types and functions are documented. In addition, any native Python module files are now assimilated into the unreal.py stub file and parsed so that they can be documented too. Change 4008654 by Jamie.Dale Allow math operators to use the base type versions unless overridden Change 4009740 by Patrick.Boutot Add BP function to convert a Timecode into a string. Change 4009763 by Patrick.Boutot Update AudioCapture to retreive the SampleRate. Used by the LinearTimecode. Change the requested format from int16 to float since we converted it into that format later on. Change 4009768 by Andrew.Rodham Removed explicit names from ScriptName methods, expanded sequencer scripting range functionality Change 4009830 by Jamie.Dale Added support for UPARAM(ref) on arguments exposed to Python For standard functions, this just produces an input and output for the same argument (we can't mutate the input due to potential coercion). For ScriptMethod functions that use it on the 'self' argument, this will mark the function as "inline" and have the function apply the result of the 'self' argument back onto the 'self' instance after calling the function. Change 4010034 by Jamie.Dale Added support for init_unreal.py start-up scripts These can be placed in any known sys.path in Python, including the Content/Python folders we automatically add, and the UnrealEngine/Python directory under the users home directory. Change 4010422 by Jamie.Dale Improved errror reporting during Python generation It will now ensure if a debugger is attached to draw programmer attention to an error. Change 4010498 by Patrick.Boutot Remove unnecessary loop Timecode.ToFrameNumber() Change 4011312 by Jamie.Dale Duplicate deprecated names will no longer assert during Python glue generation They will now log a warning and continue Change 4012068 by JeanMichel.Dignard Allow to render thumbnails for newly created packages. - To render a thumbnail, you either need a customer thumbnail renderer or a cached thumbnail. Querying cached thumbnails fails for newly created packages because it calls DoesPackageExist which check on disk. This call is unnecessary since we're relying on FindPackage which only works for packages that are loaded in memory. Change 4013781 by Jamie.Dale FFrame::KismetExecutionMessage (or LogRuntimeError or LogRuntimeWarning) will now produce Python exceptions You can use these to emit warnings or errors from UFunctions wrapped for scripting, and when called from Python they will produce a Python exception (for errors), or Python warning (for warnings). Change 4014337 by Jamie.Dale Struct coercion now errors if you provide a sequence with too many elements This also makes sure that PyConversion doesn't set an error state if ESetErrorState::No is passed (which could have previously happened from type casting calls). Change 4015290 by Andrew.Rodham Sequencer: Moved runtime functionality from ISequencerChannelInterface to IMovieSceneChannelInterface - Rename IBatchChannelInterface to IMovieSceneChannelInterface - Removed MovieScene::Dilate() - Added TMovieSceneChannelTraits::SupportsDefaults to automatically stub out functions relating to channel defaults Change 4015664 by Jamie.Dale Renamed ScriptMathOp meta-data to ScriptOperator Change 4016230 by Jamie.Dale Fixed incorrect make/break path in Importance Sampling Library (for Importance Texture) Change 4017326 by Jamie.Dale Added make and break support in Python Structs that have a native make function will now use this as their constructor. This also adds support for breaking a struct into a tuple, either via a native break function, or via generic property enumeration. Change 4017551 by Jamie.Dale Removed redundant outer parameter from find/load_asset/package Change 4018594 by Jamie.Dale Added ScriptMethodSelfReturn as an alternative to UPARAM(ref) These two function signatures produce the same behavior and have the same cost in Python, the only difference is how they appear to Blueprints (and Blueprints seem to favor non-reference functions). UFUNCTION(..., meta=(ScriptMethod)) static void DoThing(UPARAM(ref) FThingType&, int32); UFUNCTION(..., meta=(ScriptMethod, ScriptMethodSelfReturn)) static FThingType DoThing(FThingType, int32); Change 4020956 by Anousack.Kitisa Added Shotgun to the Level Editor/World Outliner and Content Browser context menus when there's a selected actor or asset. #jira UEENT-1219 Change 4021986 by Anousack.Kitisa Used the Python startup scripts mechanism to launch the Shotgun bootstrap script. Related to Jira UE-57896. Change 4022993 by Jamie.Dale Added support for extra operators on Python structs You can now expose bool conversion and comparison operators (==, !=, <, <=, >, >=) in addition to the previous set of math operators. As part of this there is now stricter signature validation when generating the Python binding. Change 4023226 by Jamie.Dale Added Make and Break function for FSoftClassPath Change 4023348 by Jamie.Dale Exposed some methods and operators for PrimaryAssetId and PrimaryAssetType Change 4027911 by Jamie.Dale Cross-outer redirects are no longer applied in Python #jira UETOOL-1382 Change 4029618 by JeanMichel.Dignard Unreal Studio UX - Made "Unreal Studio" the default tab in the new project wizard if we're using an installed enterprise build. - Create new projects as enterprise projects if we're using an insalled enterprise build. #jira UEENT-1231, UEENT-796 Change 4030217 by Jamie.Dale Exposed ScopedSlowTask to Python #jira UETOOL-1375 Change 4030784 by Matt.Hoffman Sequencer curve editor now shows vertical axis labels. #jira UE-58160 Change 4030858 by JeanLuc.Corenthin Expose LOD creation thru Python: - Create one struct to hold onto reduction settings per LOD - Create one struct to hold onto an array of reduction settings and a parameter to enable of disable automatic computation of screen size - Create new method to apply reduction settings to an array of StaticMeshActors #jira UEENT-1232 Change 4032239 by Jamie.Dale Cleanup pass over wrapped structs - Code dealing with reflected structs now uses UScriptStruct rather than UStruct. - The old PyConversion::NativizeStruct and PyConversion::PythonizeStruct have been renamed to PyConversion::NativizeStructInstance and PyConversion::PythonizeStructInstance. - New PyConversion::NativizeStruct and PyConversion::PythonizeStruct functions have been added to convert an object (or Python type) to a UScriptStruct (akin to what PyConversion::NativizeClass and PyConversion::PythonizeClass does for UClass). Change 4032247 by Jamie.Dale Cleaned up some Python slow task code Change 4032251 by Jamie.Dale Added functions to get the Python type associated with an Unreal class, struct, or enum Change 4032258 by Jamie.Dale Added Python iterators for Unreal objects, classes, and structs, as well as the Python types wrapped by Unreal classes or structs #jira UETOOL-1380 Change 4032320 by Jamie.Dale Fixed Python object iterators skipping their first item Change 4032321 by Jamie.Dale Added Python iterators for actors and selected actors #jira UETOOL-1380 Change 4033908 by Anousack.Kitisa Added Shotgun settings for metadata tags. #jira UEENT-1175 Change 4033909 by Anousack.Kitisa Added wrapper function to sync Content Browser to assets for scripting. #jira UEENT-1218 Change 4034951 by Matt.Hoffman Media Tracks now highlight when added to a Sequence/UMG animation. Change 4034966 by Jamie.Dale Added GIL locks around post_init code that can be called from C++ Change 4035019 by Matt.Hoffman UMG Render Transforms + Margins now support infinite sections. Change 4035470 by Andrew.Rodham Introduced a common base class for all movie scene channel data, FMovieSceneChannel. Removed IMovieSceneChannelInterface. Renamed FMovieSceneChannelEditorData to FMovieSceneChannelMetaData. Renamed FMovieSceneChannel and TMovieSceneChannel to FMovieSceneChannelData and TMovieSceneChannelData, to make way for common channel base class. Renamed instances of 'specialized' channel editor data to 'extended' channel editor data. Introduced non-templated FMovieSceneChannelHandle and a templated version. Changed internal implementation to use a lookup rather than a directly resolved weak ptr. Various pieces of documentation and cleanup. Change 4037112 by Max.Chen Sequencer: Added some missing RF_Transactional flags to newly created sections. Change 4037121 by Max.Chen Sequence Recorder: Timecode recording Introduced an FSourceTimecode which is saved as editor only data to the MovieSceneSection and MovieScene. FSourceTimecode consists of an FFrameNumber delta that correlates the section's initial start time to an FTimecode. The FFrameNumber is adjusted whenever the section is moved. One use case for this is through sequence recorder, which captures the timecode at the start of recording and saves an FSourceTimecode per movie scene section it creates. If the section is moved, it can always be returned to its source timecode by the section's right click menu, "Sync to Source Timecode". #jira UESEQ-406 Change 4038462 by Jamie.Dale Added support for using Python callables with delegates All the "x_function" methods on delegates and multicast delegates now have an "x_callable" equivalent that take a Python callable (we attempt basic validation of the signature, but that only allows us to check the input argument count is what we expect). Internally the callable is wrapped in a UObject, so certain GC restrictions are present (and is why coercion is disabled for callables). Delegates wrapped in Python (including as a direct property of an object or struct, or inside a container) will be kept alive via the Python reference collection, however once there are no Python references left the proxy object will be allowed to die unless something external has taken a reference to the proxy object. Change 4039123 by James.McNatton Remove dependency on SteamController in VirtualCamera #rb none Change 4039162 by Jamie.Dale Fixed linter warnings about unescaped backslashes in docstrings Change 4039170 by Jamie.Dale No longer expose deprecated functions or properties if they clash with another Python exposed item Change 4039429 by Max.Chen Sequence Recorder: Swap to editor actors on end PIE if the actors to record were set to the PIE actors Change 4039442 by Max.Chen Sequence Recorder: Find the existing object binding and record into it if it exists. When recording to an existing object binding, if the track exists, remove all animation data and reuse the track. Change 4039477 by Jamie.Dale Added warnings for conflicting Python type and field names Change 4039478 by Jamie.Dale Fixed warnings for conflicting Python type and field names Change 4039511 by Max.Chen Sequencer: Remove all animation data for spawn track Change 4040649 by James.McNatton Multiple Virtual Camera bug fixes - Removed QAGame mannequin from test map - Fixed errors being generated when trying to load preset - Presets now properly load and save axis settings - Deleted presets should no longer linger in menus - Presets now save and load favorite status Change 4041356 by Max.Chen Sequence Recorder: Takes system #jira UESP-544 Change 4041589 by Jamie.Dale Added C++ source information (plugin, module, and file) to the Python doc string Change 4041746 by Jamie.Dale Made ScriptOperator more relaxed about its signature validation as long as the additional input parameters are defaulted Change 4041757 by James.McNatton Virtual Camera Bug Fixes - The Input Source dropdown now accurately reflects user selection - Input source changed to EditDefaultsOnly - Focus should no longer be set when the settings menu is open Change 4041823 by Jamie.Dale Made ScriptOperator more relaxed about its signature validation for defaulted input parameters Existing Blueprint exposed operator functions may both default required arguments, and add additional default arguments. ScriptOperator will now accept both of these as long as there are enough arguments, but not too many non-defaulted arguments. Change 4042956 by James.McNatton VirtualCamera bug fixes related to focus plane visualization - Removed extra focus plane that was being displayed - Added logic to adjust for nonuniform scaling of objects when settings up tracking focus Change 4043400 by James.McNatton Multiple bug fixes related to saving various values - Now saves matte opacity and updates on load - Now saves filmback format name and updates on load - Now saves desired distance units and updates on load Change 4043481 by James.McNatton Fixed issue in Virtual Camera where joystick movement would not properly apply locks after rotating #rb none Change 4044358 by Jamie.Dale Fixed some cases where empty default values would be lost from UHT Eg, empty strings, null objects Change 4044362 by Jamie.Dale Fixed old-style enums being missed by the Python glue generation if they're only referenced by a property of function Change 4044371 by Jamie.Dale Fixed default value application for some struct types that use a custom default value format when exported by UHT Change 4044417 by Max.Chen Sequence Recorder: Better default group names with an underscore separator for letters Change 4045164 by Jamie.Dale Hardened usage of CopyScriptStruct to ensure that the source type is a child of the destination type, and that the destination type is used to copy (to still allow slicing of derived data) Change 4045195 by Jamie.Dale Updated FPropValueOnScope::GetValue to be able to return the value for a particular array index Change 4045589 by James.McNatton Fixed packaging error for VirtualCamera plugin - Plugin is now a runtime plugin rather than developer - Fixed up associated warnings with saving and loading in editor Change 4046208 by James.McNatton Virtual Camera bug fixes - Adjusted how mattes and filmback works together - Should now always respond properly to changing filmback settings in UI - Should now match the correct view size within the matte under all circumstances Change 4046372 by Max.Chen Sequencer: Fix subsequence binding ids. #jira UE-55337 Change 4046694 by Max.Chen Sequence Recorder: Compile the template before finding the camera sequence id since the precompiled template is not up to date. Change 4046801 by Jamie.Dale Improved default values and return types used in the unreal.py stub file - Object and Struct types generate an __init__ function with the correct signature. - Struct __init__ functions list the correct default values (including when using make/break functions). - Methods now list the correct default values. - Get/Set getters return a value of the correct type. - Get/Set setters are no longer exported for read-only properties. - Constants resolve to the correct type and value. #jira UETOOL-1377 Change 4047023 by Jamie.Dale Added missing hook-up for % and %= in Python Change 4047100 by Jamie.Dale Operators are now exposed to unreal.py and generate docs stating which overloads are available Change 4047105 by Jamie.Dale String is now "str" in doc strings to match the Python type Change 4047714 by Max.Chen Sequencer: Resolved merge conflicts with Dev-Sequencer Change 4048150 by Jamie.Dale Fixed single-culture PO import/export failing #jira UE-47079 Change 4048653 by Andrew.Rodham Sequencer: Automatic re-evaluation is now suppressed for external changes that modified only default values on channels - The issue is that moving an object that is partially-keyed in sequencer, with auto-key off, will set default values for the non-keyed channels. Doing so will dirty the sequence, which causes a re-evaluation, which re-evalutes the keyed channels, which effectively undoes the external change. - This is now fixed by suppressing the automatic re-evaluation for a specific signature of a specific sequence, if that is the only thing that has dirtied the sequence. Any subsequent changes to the sequence will cause a re-evaluation, and the suppression to be wiped. #jira UE-57519 #jira UE-58487 Change 4048814 by Jamie.Dale Fixed syntax error if an enum had an unknown value Change 4048819 by Jamie.Dale Fixed struct init functions having the wrong default values Change 4048856 by JeanLuc.Corenthin - Removed LOD & collision functions from UEditorLevelLibrary - Created a new class, UEditorMeshLibrary, to hold onto functionalities related to StaticMeshes - Added method to set LODs on a static mesh - Added method to remove LODs from a static mesh - Added method to get number of LODs on a static mesh - Added method to get number of simple collisions onto a static mesh - Added method to get number of convex collisions onto a static mesh - Added method to add convex collision onto a static mesh - Added method to remove all collisions onto a static mesh #jira UEENT-1232 #jira UEENT-1233 Change 4048961 by Jamie.Dale Improved formatting of output parameters in doc strings #jira UETOOL-1376 Change 4048988 by Jamie.Dale Fixed context leakage between the console and files, and import "unreal" by default now in the console #jira UETOOL-1379 Change 4049912 by Max.Chen Sequence Recorder: Minor recording group name improvements. - Initialize newly created actor group with existing actor group's base path. - When duplicating, use the current group's name as the base. - When typing in a name, if it fits the group format, the name should be allowable if it doesn't conflict with existing group names/assets. Change 4049934 by Andrew.Rodham Sequencer: Minor clean-up of sequencer interfaces and overloads - Replaced remaining instances of void* with FMovieSceneChannel* now that we mandate a common base class - Changed remaining explicit calls to SetDefault to SetChannelDefault overload so it works correctly with the SupportsDefaults trait - Exposed ability to manually implement an ISequencerChannelInterface rather than using the default templated one Change 4050608 by conan.reis Was getting link error about use of FFrameTime in ULevelSequencePlaybackController::PlayFromBeginning() in the VirtualCamera plugin so added TimeManagement to its dependant modules so it compiles again. Change 4050899 by Max.Chen Sequencer: Allow actor components for synchronization #jira UE-58468 Change 4050900 by Max.Chen Sequence Recorder: Don't create a spawn section if the object is a possessable #jira UE-58272 Change 4050904 by Max.Chen Curve Editor: Fix for evaluation a section of time when one key is non-weighted and the other is weighted. What we do is evaluate them both as being weighted, but we don't have the weight value for the non-weighted tangent. The weight of the non-weighted tangent is implicilty 1/3rd the distance between the two points, so we just calculate that if needed. #jira UE-58573 Change 4050905 by Max.Chen Curve Editor: When calculating vertical extents find feature points where slopes are zero and check them in addition to the keys if the curve is cubic. Curves now fit correclty vertically. Also changed fudge to 5% from 10% to match up old editor. Tighter fits seems better. #jira UE-58571 Change 4050972 by James.McNatton Added functions to ISequenceRecorder - Calling StartRecording with an empty array now triggers recording without clearning queued recordings - Added function to queue an actor to be recorded - Added function to check the next take number for a given actor when using groups Change 4050994 by James.McNatton Bug fixes for Virtual Camera - Preset menu now shows dates in the timestamp - Resetting offsets now alerts the system to update UI Change 4051431 by David.Hibbitts Added a component and blueprint library to access LiveLink data in blueprints which also works in editor. Deprecated LiveLink Driven component #jira UESP-577 Change 4051475 by Patrick.Boutot Rename EditorMeshLibrary Merge AssetScriptingUtilititesEditor with EditorScriptingUtilities. Add Redirects. Change 4051558 by Patrick.Boutot EngineCustomTimeStep returns true when we also want to perform the default engine code. Change 4052106 by Andrew.Rodham Sequencer: Adding an example that creates a sequence out of the current editor selection Change 4052205 by Anousack.Kitisa Fixed selected asset paths referenced by selected actors when using context Shotgun menu. Added function to retrieve the work area directory for Shotgun. #jira UEENT-1220 Change 4052951 by James.McNatton Virtual Camera Sequence Recorder updates to integrate new take system - Takes no longer display unless sequence recorder has a group selected - Adjusted fix to packaging error - FPS value will no longer appear if sequence recorder isn't available Change 4053130 by mason.seay Updated Game Mode Override Change 4053273 by James.McNatton Virtual Camera cleanup adjustments Change 4053627 by Max.Chen Sequencer: Disable bind sequencer to PIE/simulate while recording. Change 4053628 by Max.Chen Sequence Recorder: Fix target animation not persisting #jira UE-58508 Change 4053871 by Max.Chen Image Plate: Fix icon path Change 4054370 by Patrick.Boutot Remove LiveLink warning. Create base a class for FLiveLinkFrameRate as suggested in GenericPlatformCompilerPreSetup.h Change 4054447 by Darren.Pegg AJA low level device API Blackmagic low level API MediaIOCore changes to support AJA/Blackmagic changes AJA Module converted to use MediaIOCore Blackmagic Module changes for MediaIOCore Blackmagic/AJA Binary files Change 4054769 by Patrick.Boutot Packaging error issue introduce with CL 4054370. #jira UE-58749 Change 4055443 by Max.Chen Sequencer: Fix crash in adding filler shot #jira UE-58767 Change 4056577 by JeanMichel.Dignard Fixed crash with automation tests. We would bind the default UEditorEngine to Automation and on map load, it would call PIE on GEditor but with recent changes, PIE is called on this and the default UEditorEngine is not initialized so it would crash with a null GameViewportClass. Now we'll bind Automation on UEditorEngine InitializeObjectReferences so that we're in a good state and it's only called for GEditor. #jira UE-58792 Change 4057238 by Jamie.Dale Fixed crash when renaming Python generated classes or structs Change 4058435 by Jamie.Dale Fixed lingering exception state when converting a dict to a struct Change 4058486 by mason.seay Removed remote.host call from map [CL 4060164 by JeanMichel Dignard in Main branch]
2018-05-09 10:24:50 -04:00
// Calculate delta time
const double DeltaRealTime = CurrentTime - FApp::GetLastTime();
const double WaitTime = FMath::Max(FrameRate.AsInterval() - DeltaRealTime, 0.0);
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4059031) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3974233 by Rex.Hill Optimized BuildStaticMeshVertexAndIndexBuffers and TEdgeBuilder Change 3974234 by Rex.Hill Reduced number of calls to SaveRawMesh and LoadRawMesh Change 3974235 by Rex.Hill Optimized SaveRawMesh by pre-allocating buffer Change 3981370 by Jamie.Dale Added support for deprecated (renamed) classes, structs, enums, functions, and properties in Python The glue code generation will now use the existing redirects system to build deprecated entries for old names. You can also specify deprecated names to the ScriptName and ScriptMethod meta-data values by adding extra semi-colon separated entries (the first entry is the current name). Accessing deprecated objects in Python leads to a deprecation warning when developer mode is enabled. Change 3983875 by Jamie.Dale Exposed some asset registry functions that may be useful in a commandlet environment Change 3983901 by Jamie.Dale Hoisted some AssetData helpers onto the struct in Python Change 3988367 by Jamie.Dale Python now honors EditInstanceOnly and EditDefaultsOnly when setting property values Change 3988369 by Jamie.Dale Exposed generic get_default_object function that takes a type and returns you the CDO This is needed for types that aren't natively exposed to Python (such as Blueprint generated types) Change 3989890 by Jamie.Dale Moved BlutilityActor to be Private in EditorScriptingUtils This can be removed once it's no longer needed. Change 3989900 by Jamie.Dale Updated EditorScriptingUtilities to use the Public/Private folder structure for source code Change 3990082 by Anousack.Kitisa Added plugin for Shotgun integration in Unreal. #jira UEENT-959 Change 3990783 by Anousack.Kitisa Changed ShotgunMenuItem to a struct. Change 3991139 by Jamie.Dale Minimized use of GUnrealEd (favoring GEditor) so that this code can be used by commandlets Removed redundant usages of GEditor/GUnrealEd from within UEditorEngine itself, and fixed cases where null data was being accessed. Testing that loading, saving, and creating a new blank map will now work in a commandlet without crashing. Change 3993189 by Jamie.Dale Fixed some mismatched return types Change 3993191 by Jamie.Dale Inital support for taking the GIL at key points where external C code calls into Python Change 3993683 by Patrick.Boutot [LTC] Add a CustomTimeStep that decode a LinearTimecode from the MediaSource. The MediaPlayer need to support buffering and should not run late since it's used to tick the engine time. Update DropTimecode to use the new Timecode structure in TimeManagement. Change 3994430 by Jamie.Dale Adjusted how inline structs work so that types known at compile time can inline allocate without being fully hand-wrapped in Python They must now be registered via FPyWrapperTypeRegistry::RegisterInlineStructFactory before we start generating wrapped types Change 3996083 by Jamie.Dale Added a distinct type for generated enum types so that you can query their available enum entries Change 3998253 by conan.reis Remove redundant Perforce error output from the log Change 4000307 by JeanMichel.Dignard Optimized FFbxImporter::ValidateAllMeshesAreReferenceByNodeAttribute() - Stored all scene nodes geometry ids in a set instead of looping on all scene nodes for every geometry. O(N) instead of O(N^2). - For 38685 scene nodes and 5417 geometry, the time went from 2 min 21.688 s to 0 min 0.098 s. Change 4000605 by Jamie.Dale Added support for constant "hoisting" This allows you to tag a helper function that returns a constant with ScriptConstant meta-data (providing a potentially overridden name) to "hoist" that helper function to be a constant of the type it operates on when wrapped for Python (ScriptConstantHost can be used to host the constant on a struct rather than its own object). Change 4001617 by Jamie.Dale Updated ScriptMethod and ScriptConstant to allow hoisting onto other classes as well as structs This allows you to have a runtime class be extended via methods in an editor-only module Change 4005287 by Jamie.Dale Added a GIL lock when Slate Tick events call back into Python Change 4005383 by Andrew.Rodham Sequencer: Initial scripting exposure and support First pass includes the following: - Find/add/interate master tracks - Find/add/interate bindings (both possessables and spawnables) - Find/add/interate tracks on bindings - Add/interate sections on tracks - Get/Set section ranges Change 4008609 by Jamie.Dale Added some missing native Python types to the documentation Native modules now build up a list of types and functions associated with them. This information is then passed through to the document generation to ensure that all exposed native types and functions are documented. In addition, any native Python module files are now assimilated into the unreal.py stub file and parsed so that they can be documented too. Change 4008654 by Jamie.Dale Allow math operators to use the base type versions unless overridden Change 4009740 by Patrick.Boutot Add BP function to convert a Timecode into a string. Change 4009763 by Patrick.Boutot Update AudioCapture to retreive the SampleRate. Used by the LinearTimecode. Change the requested format from int16 to float since we converted it into that format later on. Change 4009768 by Andrew.Rodham Removed explicit names from ScriptName methods, expanded sequencer scripting range functionality Change 4009830 by Jamie.Dale Added support for UPARAM(ref) on arguments exposed to Python For standard functions, this just produces an input and output for the same argument (we can't mutate the input due to potential coercion). For ScriptMethod functions that use it on the 'self' argument, this will mark the function as "inline" and have the function apply the result of the 'self' argument back onto the 'self' instance after calling the function. Change 4010034 by Jamie.Dale Added support for init_unreal.py start-up scripts These can be placed in any known sys.path in Python, including the Content/Python folders we automatically add, and the UnrealEngine/Python directory under the users home directory. Change 4010422 by Jamie.Dale Improved errror reporting during Python generation It will now ensure if a debugger is attached to draw programmer attention to an error. Change 4010498 by Patrick.Boutot Remove unnecessary loop Timecode.ToFrameNumber() Change 4011312 by Jamie.Dale Duplicate deprecated names will no longer assert during Python glue generation They will now log a warning and continue Change 4012068 by JeanMichel.Dignard Allow to render thumbnails for newly created packages. - To render a thumbnail, you either need a customer thumbnail renderer or a cached thumbnail. Querying cached thumbnails fails for newly created packages because it calls DoesPackageExist which check on disk. This call is unnecessary since we're relying on FindPackage which only works for packages that are loaded in memory. Change 4013781 by Jamie.Dale FFrame::KismetExecutionMessage (or LogRuntimeError or LogRuntimeWarning) will now produce Python exceptions You can use these to emit warnings or errors from UFunctions wrapped for scripting, and when called from Python they will produce a Python exception (for errors), or Python warning (for warnings). Change 4014337 by Jamie.Dale Struct coercion now errors if you provide a sequence with too many elements This also makes sure that PyConversion doesn't set an error state if ESetErrorState::No is passed (which could have previously happened from type casting calls). Change 4015290 by Andrew.Rodham Sequencer: Moved runtime functionality from ISequencerChannelInterface to IMovieSceneChannelInterface - Rename IBatchChannelInterface to IMovieSceneChannelInterface - Removed MovieScene::Dilate() - Added TMovieSceneChannelTraits::SupportsDefaults to automatically stub out functions relating to channel defaults Change 4015664 by Jamie.Dale Renamed ScriptMathOp meta-data to ScriptOperator Change 4016230 by Jamie.Dale Fixed incorrect make/break path in Importance Sampling Library (for Importance Texture) Change 4017326 by Jamie.Dale Added make and break support in Python Structs that have a native make function will now use this as their constructor. This also adds support for breaking a struct into a tuple, either via a native break function, or via generic property enumeration. Change 4017551 by Jamie.Dale Removed redundant outer parameter from find/load_asset/package Change 4018594 by Jamie.Dale Added ScriptMethodSelfReturn as an alternative to UPARAM(ref) These two function signatures produce the same behavior and have the same cost in Python, the only difference is how they appear to Blueprints (and Blueprints seem to favor non-reference functions). UFUNCTION(..., meta=(ScriptMethod)) static void DoThing(UPARAM(ref) FThingType&, int32); UFUNCTION(..., meta=(ScriptMethod, ScriptMethodSelfReturn)) static FThingType DoThing(FThingType, int32); Change 4020956 by Anousack.Kitisa Added Shotgun to the Level Editor/World Outliner and Content Browser context menus when there's a selected actor or asset. #jira UEENT-1219 Change 4021986 by Anousack.Kitisa Used the Python startup scripts mechanism to launch the Shotgun bootstrap script. Related to Jira UE-57896. Change 4022993 by Jamie.Dale Added support for extra operators on Python structs You can now expose bool conversion and comparison operators (==, !=, <, <=, >, >=) in addition to the previous set of math operators. As part of this there is now stricter signature validation when generating the Python binding. Change 4023226 by Jamie.Dale Added Make and Break function for FSoftClassPath Change 4023348 by Jamie.Dale Exposed some methods and operators for PrimaryAssetId and PrimaryAssetType Change 4027911 by Jamie.Dale Cross-outer redirects are no longer applied in Python #jira UETOOL-1382 Change 4029618 by JeanMichel.Dignard Unreal Studio UX - Made "Unreal Studio" the default tab in the new project wizard if we're using an installed enterprise build. - Create new projects as enterprise projects if we're using an insalled enterprise build. #jira UEENT-1231, UEENT-796 Change 4030217 by Jamie.Dale Exposed ScopedSlowTask to Python #jira UETOOL-1375 Change 4030784 by Matt.Hoffman Sequencer curve editor now shows vertical axis labels. #jira UE-58160 Change 4030858 by JeanLuc.Corenthin Expose LOD creation thru Python: - Create one struct to hold onto reduction settings per LOD - Create one struct to hold onto an array of reduction settings and a parameter to enable of disable automatic computation of screen size - Create new method to apply reduction settings to an array of StaticMeshActors #jira UEENT-1232 Change 4032239 by Jamie.Dale Cleanup pass over wrapped structs - Code dealing with reflected structs now uses UScriptStruct rather than UStruct. - The old PyConversion::NativizeStruct and PyConversion::PythonizeStruct have been renamed to PyConversion::NativizeStructInstance and PyConversion::PythonizeStructInstance. - New PyConversion::NativizeStruct and PyConversion::PythonizeStruct functions have been added to convert an object (or Python type) to a UScriptStruct (akin to what PyConversion::NativizeClass and PyConversion::PythonizeClass does for UClass). Change 4032247 by Jamie.Dale Cleaned up some Python slow task code Change 4032251 by Jamie.Dale Added functions to get the Python type associated with an Unreal class, struct, or enum Change 4032258 by Jamie.Dale Added Python iterators for Unreal objects, classes, and structs, as well as the Python types wrapped by Unreal classes or structs #jira UETOOL-1380 Change 4032320 by Jamie.Dale Fixed Python object iterators skipping their first item Change 4032321 by Jamie.Dale Added Python iterators for actors and selected actors #jira UETOOL-1380 Change 4033908 by Anousack.Kitisa Added Shotgun settings for metadata tags. #jira UEENT-1175 Change 4033909 by Anousack.Kitisa Added wrapper function to sync Content Browser to assets for scripting. #jira UEENT-1218 Change 4034951 by Matt.Hoffman Media Tracks now highlight when added to a Sequence/UMG animation. Change 4034966 by Jamie.Dale Added GIL locks around post_init code that can be called from C++ Change 4035019 by Matt.Hoffman UMG Render Transforms + Margins now support infinite sections. Change 4035470 by Andrew.Rodham Introduced a common base class for all movie scene channel data, FMovieSceneChannel. Removed IMovieSceneChannelInterface. Renamed FMovieSceneChannelEditorData to FMovieSceneChannelMetaData. Renamed FMovieSceneChannel and TMovieSceneChannel to FMovieSceneChannelData and TMovieSceneChannelData, to make way for common channel base class. Renamed instances of 'specialized' channel editor data to 'extended' channel editor data. Introduced non-templated FMovieSceneChannelHandle and a templated version. Changed internal implementation to use a lookup rather than a directly resolved weak ptr. Various pieces of documentation and cleanup. Change 4037112 by Max.Chen Sequencer: Added some missing RF_Transactional flags to newly created sections. Change 4037121 by Max.Chen Sequence Recorder: Timecode recording Introduced an FSourceTimecode which is saved as editor only data to the MovieSceneSection and MovieScene. FSourceTimecode consists of an FFrameNumber delta that correlates the section's initial start time to an FTimecode. The FFrameNumber is adjusted whenever the section is moved. One use case for this is through sequence recorder, which captures the timecode at the start of recording and saves an FSourceTimecode per movie scene section it creates. If the section is moved, it can always be returned to its source timecode by the section's right click menu, "Sync to Source Timecode". #jira UESEQ-406 Change 4038462 by Jamie.Dale Added support for using Python callables with delegates All the "x_function" methods on delegates and multicast delegates now have an "x_callable" equivalent that take a Python callable (we attempt basic validation of the signature, but that only allows us to check the input argument count is what we expect). Internally the callable is wrapped in a UObject, so certain GC restrictions are present (and is why coercion is disabled for callables). Delegates wrapped in Python (including as a direct property of an object or struct, or inside a container) will be kept alive via the Python reference collection, however once there are no Python references left the proxy object will be allowed to die unless something external has taken a reference to the proxy object. Change 4039123 by James.McNatton Remove dependency on SteamController in VirtualCamera #rb none Change 4039162 by Jamie.Dale Fixed linter warnings about unescaped backslashes in docstrings Change 4039170 by Jamie.Dale No longer expose deprecated functions or properties if they clash with another Python exposed item Change 4039429 by Max.Chen Sequence Recorder: Swap to editor actors on end PIE if the actors to record were set to the PIE actors Change 4039442 by Max.Chen Sequence Recorder: Find the existing object binding and record into it if it exists. When recording to an existing object binding, if the track exists, remove all animation data and reuse the track. Change 4039477 by Jamie.Dale Added warnings for conflicting Python type and field names Change 4039478 by Jamie.Dale Fixed warnings for conflicting Python type and field names Change 4039511 by Max.Chen Sequencer: Remove all animation data for spawn track Change 4040649 by James.McNatton Multiple Virtual Camera bug fixes - Removed QAGame mannequin from test map - Fixed errors being generated when trying to load preset - Presets now properly load and save axis settings - Deleted presets should no longer linger in menus - Presets now save and load favorite status Change 4041356 by Max.Chen Sequence Recorder: Takes system #jira UESP-544 Change 4041589 by Jamie.Dale Added C++ source information (plugin, module, and file) to the Python doc string Change 4041746 by Jamie.Dale Made ScriptOperator more relaxed about its signature validation as long as the additional input parameters are defaulted Change 4041757 by James.McNatton Virtual Camera Bug Fixes - The Input Source dropdown now accurately reflects user selection - Input source changed to EditDefaultsOnly - Focus should no longer be set when the settings menu is open Change 4041823 by Jamie.Dale Made ScriptOperator more relaxed about its signature validation for defaulted input parameters Existing Blueprint exposed operator functions may both default required arguments, and add additional default arguments. ScriptOperator will now accept both of these as long as there are enough arguments, but not too many non-defaulted arguments. Change 4042956 by James.McNatton VirtualCamera bug fixes related to focus plane visualization - Removed extra focus plane that was being displayed - Added logic to adjust for nonuniform scaling of objects when settings up tracking focus Change 4043400 by James.McNatton Multiple bug fixes related to saving various values - Now saves matte opacity and updates on load - Now saves filmback format name and updates on load - Now saves desired distance units and updates on load Change 4043481 by James.McNatton Fixed issue in Virtual Camera where joystick movement would not properly apply locks after rotating #rb none Change 4044358 by Jamie.Dale Fixed some cases where empty default values would be lost from UHT Eg, empty strings, null objects Change 4044362 by Jamie.Dale Fixed old-style enums being missed by the Python glue generation if they're only referenced by a property of function Change 4044371 by Jamie.Dale Fixed default value application for some struct types that use a custom default value format when exported by UHT Change 4044417 by Max.Chen Sequence Recorder: Better default group names with an underscore separator for letters Change 4045164 by Jamie.Dale Hardened usage of CopyScriptStruct to ensure that the source type is a child of the destination type, and that the destination type is used to copy (to still allow slicing of derived data) Change 4045195 by Jamie.Dale Updated FPropValueOnScope::GetValue to be able to return the value for a particular array index Change 4045589 by James.McNatton Fixed packaging error for VirtualCamera plugin - Plugin is now a runtime plugin rather than developer - Fixed up associated warnings with saving and loading in editor Change 4046208 by James.McNatton Virtual Camera bug fixes - Adjusted how mattes and filmback works together - Should now always respond properly to changing filmback settings in UI - Should now match the correct view size within the matte under all circumstances Change 4046372 by Max.Chen Sequencer: Fix subsequence binding ids. #jira UE-55337 Change 4046694 by Max.Chen Sequence Recorder: Compile the template before finding the camera sequence id since the precompiled template is not up to date. Change 4046801 by Jamie.Dale Improved default values and return types used in the unreal.py stub file - Object and Struct types generate an __init__ function with the correct signature. - Struct __init__ functions list the correct default values (including when using make/break functions). - Methods now list the correct default values. - Get/Set getters return a value of the correct type. - Get/Set setters are no longer exported for read-only properties. - Constants resolve to the correct type and value. #jira UETOOL-1377 Change 4047023 by Jamie.Dale Added missing hook-up for % and %= in Python Change 4047100 by Jamie.Dale Operators are now exposed to unreal.py and generate docs stating which overloads are available Change 4047105 by Jamie.Dale String is now "str" in doc strings to match the Python type Change 4047714 by Max.Chen Sequencer: Resolved merge conflicts with Dev-Sequencer Change 4048150 by Jamie.Dale Fixed single-culture PO import/export failing #jira UE-47079 Change 4048653 by Andrew.Rodham Sequencer: Automatic re-evaluation is now suppressed for external changes that modified only default values on channels - The issue is that moving an object that is partially-keyed in sequencer, with auto-key off, will set default values for the non-keyed channels. Doing so will dirty the sequence, which causes a re-evaluation, which re-evalutes the keyed channels, which effectively undoes the external change. - This is now fixed by suppressing the automatic re-evaluation for a specific signature of a specific sequence, if that is the only thing that has dirtied the sequence. Any subsequent changes to the sequence will cause a re-evaluation, and the suppression to be wiped. #jira UE-57519 #jira UE-58487 Change 4048814 by Jamie.Dale Fixed syntax error if an enum had an unknown value Change 4048819 by Jamie.Dale Fixed struct init functions having the wrong default values Change 4048856 by JeanLuc.Corenthin - Removed LOD & collision functions from UEditorLevelLibrary - Created a new class, UEditorMeshLibrary, to hold onto functionalities related to StaticMeshes - Added method to set LODs on a static mesh - Added method to remove LODs from a static mesh - Added method to get number of LODs on a static mesh - Added method to get number of simple collisions onto a static mesh - Added method to get number of convex collisions onto a static mesh - Added method to add convex collision onto a static mesh - Added method to remove all collisions onto a static mesh #jira UEENT-1232 #jira UEENT-1233 Change 4048961 by Jamie.Dale Improved formatting of output parameters in doc strings #jira UETOOL-1376 Change 4048988 by Jamie.Dale Fixed context leakage between the console and files, and import "unreal" by default now in the console #jira UETOOL-1379 Change 4049912 by Max.Chen Sequence Recorder: Minor recording group name improvements. - Initialize newly created actor group with existing actor group's base path. - When duplicating, use the current group's name as the base. - When typing in a name, if it fits the group format, the name should be allowable if it doesn't conflict with existing group names/assets. Change 4049934 by Andrew.Rodham Sequencer: Minor clean-up of sequencer interfaces and overloads - Replaced remaining instances of void* with FMovieSceneChannel* now that we mandate a common base class - Changed remaining explicit calls to SetDefault to SetChannelDefault overload so it works correctly with the SupportsDefaults trait - Exposed ability to manually implement an ISequencerChannelInterface rather than using the default templated one Change 4050608 by conan.reis Was getting link error about use of FFrameTime in ULevelSequencePlaybackController::PlayFromBeginning() in the VirtualCamera plugin so added TimeManagement to its dependant modules so it compiles again. Change 4050899 by Max.Chen Sequencer: Allow actor components for synchronization #jira UE-58468 Change 4050900 by Max.Chen Sequence Recorder: Don't create a spawn section if the object is a possessable #jira UE-58272 Change 4050904 by Max.Chen Curve Editor: Fix for evaluation a section of time when one key is non-weighted and the other is weighted. What we do is evaluate them both as being weighted, but we don't have the weight value for the non-weighted tangent. The weight of the non-weighted tangent is implicilty 1/3rd the distance between the two points, so we just calculate that if needed. #jira UE-58573 Change 4050905 by Max.Chen Curve Editor: When calculating vertical extents find feature points where slopes are zero and check them in addition to the keys if the curve is cubic. Curves now fit correclty vertically. Also changed fudge to 5% from 10% to match up old editor. Tighter fits seems better. #jira UE-58571 Change 4050972 by James.McNatton Added functions to ISequenceRecorder - Calling StartRecording with an empty array now triggers recording without clearning queued recordings - Added function to queue an actor to be recorded - Added function to check the next take number for a given actor when using groups Change 4050994 by James.McNatton Bug fixes for Virtual Camera - Preset menu now shows dates in the timestamp - Resetting offsets now alerts the system to update UI Change 4051431 by David.Hibbitts Added a component and blueprint library to access LiveLink data in blueprints which also works in editor. Deprecated LiveLink Driven component #jira UESP-577 Change 4051475 by Patrick.Boutot Rename EditorMeshLibrary Merge AssetScriptingUtilititesEditor with EditorScriptingUtilities. Add Redirects. Change 4051558 by Patrick.Boutot EngineCustomTimeStep returns true when we also want to perform the default engine code. Change 4052106 by Andrew.Rodham Sequencer: Adding an example that creates a sequence out of the current editor selection Change 4052205 by Anousack.Kitisa Fixed selected asset paths referenced by selected actors when using context Shotgun menu. Added function to retrieve the work area directory for Shotgun. #jira UEENT-1220 Change 4052951 by James.McNatton Virtual Camera Sequence Recorder updates to integrate new take system - Takes no longer display unless sequence recorder has a group selected - Adjusted fix to packaging error - FPS value will no longer appear if sequence recorder isn't available Change 4053130 by mason.seay Updated Game Mode Override Change 4053273 by James.McNatton Virtual Camera cleanup adjustments Change 4053627 by Max.Chen Sequencer: Disable bind sequencer to PIE/simulate while recording. Change 4053628 by Max.Chen Sequence Recorder: Fix target animation not persisting #jira UE-58508 Change 4053871 by Max.Chen Image Plate: Fix icon path Change 4054370 by Patrick.Boutot Remove LiveLink warning. Create base a class for FLiveLinkFrameRate as suggested in GenericPlatformCompilerPreSetup.h Change 4054447 by Darren.Pegg AJA low level device API Blackmagic low level API MediaIOCore changes to support AJA/Blackmagic changes AJA Module converted to use MediaIOCore Blackmagic Module changes for MediaIOCore Blackmagic/AJA Binary files Change 4054769 by Patrick.Boutot Packaging error issue introduce with CL 4054370. #jira UE-58749 Change 4055443 by Max.Chen Sequencer: Fix crash in adding filler shot #jira UE-58767 Change 4056577 by JeanMichel.Dignard Fixed crash with automation tests. We would bind the default UEditorEngine to Automation and on map load, it would call PIE on GEditor but with recent changes, PIE is called on this and the default UEditorEngine is not initialized so it would crash with a null GameViewportClass. Now we'll bind Automation on UEditorEngine InitializeObjectReferences so that we're in a good state and it's only called for GEditor. #jira UE-58792 Change 4057238 by Jamie.Dale Fixed crash when renaming Python generated classes or structs Change 4058435 by Jamie.Dale Fixed lingering exception state when converting a dict to a struct Change 4058486 by mason.seay Removed remote.host call from map [CL 4060164 by JeanMichel Dignard in Main branch]
2018-05-09 10:24:50 -04:00
double ActualWaitTime = 0.0;
{
FSimpleScopeSecondsCounter ActualWaitTimeCounter(ActualWaitTime);
if (WaitTime > 5.f / 1000.f)
{
FPlatformProcess::SleepNoStats((float)WaitTime - 0.002f);
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4059031) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3974233 by Rex.Hill Optimized BuildStaticMeshVertexAndIndexBuffers and TEdgeBuilder Change 3974234 by Rex.Hill Reduced number of calls to SaveRawMesh and LoadRawMesh Change 3974235 by Rex.Hill Optimized SaveRawMesh by pre-allocating buffer Change 3981370 by Jamie.Dale Added support for deprecated (renamed) classes, structs, enums, functions, and properties in Python The glue code generation will now use the existing redirects system to build deprecated entries for old names. You can also specify deprecated names to the ScriptName and ScriptMethod meta-data values by adding extra semi-colon separated entries (the first entry is the current name). Accessing deprecated objects in Python leads to a deprecation warning when developer mode is enabled. Change 3983875 by Jamie.Dale Exposed some asset registry functions that may be useful in a commandlet environment Change 3983901 by Jamie.Dale Hoisted some AssetData helpers onto the struct in Python Change 3988367 by Jamie.Dale Python now honors EditInstanceOnly and EditDefaultsOnly when setting property values Change 3988369 by Jamie.Dale Exposed generic get_default_object function that takes a type and returns you the CDO This is needed for types that aren't natively exposed to Python (such as Blueprint generated types) Change 3989890 by Jamie.Dale Moved BlutilityActor to be Private in EditorScriptingUtils This can be removed once it's no longer needed. Change 3989900 by Jamie.Dale Updated EditorScriptingUtilities to use the Public/Private folder structure for source code Change 3990082 by Anousack.Kitisa Added plugin for Shotgun integration in Unreal. #jira UEENT-959 Change 3990783 by Anousack.Kitisa Changed ShotgunMenuItem to a struct. Change 3991139 by Jamie.Dale Minimized use of GUnrealEd (favoring GEditor) so that this code can be used by commandlets Removed redundant usages of GEditor/GUnrealEd from within UEditorEngine itself, and fixed cases where null data was being accessed. Testing that loading, saving, and creating a new blank map will now work in a commandlet without crashing. Change 3993189 by Jamie.Dale Fixed some mismatched return types Change 3993191 by Jamie.Dale Inital support for taking the GIL at key points where external C code calls into Python Change 3993683 by Patrick.Boutot [LTC] Add a CustomTimeStep that decode a LinearTimecode from the MediaSource. The MediaPlayer need to support buffering and should not run late since it's used to tick the engine time. Update DropTimecode to use the new Timecode structure in TimeManagement. Change 3994430 by Jamie.Dale Adjusted how inline structs work so that types known at compile time can inline allocate without being fully hand-wrapped in Python They must now be registered via FPyWrapperTypeRegistry::RegisterInlineStructFactory before we start generating wrapped types Change 3996083 by Jamie.Dale Added a distinct type for generated enum types so that you can query their available enum entries Change 3998253 by conan.reis Remove redundant Perforce error output from the log Change 4000307 by JeanMichel.Dignard Optimized FFbxImporter::ValidateAllMeshesAreReferenceByNodeAttribute() - Stored all scene nodes geometry ids in a set instead of looping on all scene nodes for every geometry. O(N) instead of O(N^2). - For 38685 scene nodes and 5417 geometry, the time went from 2 min 21.688 s to 0 min 0.098 s. Change 4000605 by Jamie.Dale Added support for constant "hoisting" This allows you to tag a helper function that returns a constant with ScriptConstant meta-data (providing a potentially overridden name) to "hoist" that helper function to be a constant of the type it operates on when wrapped for Python (ScriptConstantHost can be used to host the constant on a struct rather than its own object). Change 4001617 by Jamie.Dale Updated ScriptMethod and ScriptConstant to allow hoisting onto other classes as well as structs This allows you to have a runtime class be extended via methods in an editor-only module Change 4005287 by Jamie.Dale Added a GIL lock when Slate Tick events call back into Python Change 4005383 by Andrew.Rodham Sequencer: Initial scripting exposure and support First pass includes the following: - Find/add/interate master tracks - Find/add/interate bindings (both possessables and spawnables) - Find/add/interate tracks on bindings - Add/interate sections on tracks - Get/Set section ranges Change 4008609 by Jamie.Dale Added some missing native Python types to the documentation Native modules now build up a list of types and functions associated with them. This information is then passed through to the document generation to ensure that all exposed native types and functions are documented. In addition, any native Python module files are now assimilated into the unreal.py stub file and parsed so that they can be documented too. Change 4008654 by Jamie.Dale Allow math operators to use the base type versions unless overridden Change 4009740 by Patrick.Boutot Add BP function to convert a Timecode into a string. Change 4009763 by Patrick.Boutot Update AudioCapture to retreive the SampleRate. Used by the LinearTimecode. Change the requested format from int16 to float since we converted it into that format later on. Change 4009768 by Andrew.Rodham Removed explicit names from ScriptName methods, expanded sequencer scripting range functionality Change 4009830 by Jamie.Dale Added support for UPARAM(ref) on arguments exposed to Python For standard functions, this just produces an input and output for the same argument (we can't mutate the input due to potential coercion). For ScriptMethod functions that use it on the 'self' argument, this will mark the function as "inline" and have the function apply the result of the 'self' argument back onto the 'self' instance after calling the function. Change 4010034 by Jamie.Dale Added support for init_unreal.py start-up scripts These can be placed in any known sys.path in Python, including the Content/Python folders we automatically add, and the UnrealEngine/Python directory under the users home directory. Change 4010422 by Jamie.Dale Improved errror reporting during Python generation It will now ensure if a debugger is attached to draw programmer attention to an error. Change 4010498 by Patrick.Boutot Remove unnecessary loop Timecode.ToFrameNumber() Change 4011312 by Jamie.Dale Duplicate deprecated names will no longer assert during Python glue generation They will now log a warning and continue Change 4012068 by JeanMichel.Dignard Allow to render thumbnails for newly created packages. - To render a thumbnail, you either need a customer thumbnail renderer or a cached thumbnail. Querying cached thumbnails fails for newly created packages because it calls DoesPackageExist which check on disk. This call is unnecessary since we're relying on FindPackage which only works for packages that are loaded in memory. Change 4013781 by Jamie.Dale FFrame::KismetExecutionMessage (or LogRuntimeError or LogRuntimeWarning) will now produce Python exceptions You can use these to emit warnings or errors from UFunctions wrapped for scripting, and when called from Python they will produce a Python exception (for errors), or Python warning (for warnings). Change 4014337 by Jamie.Dale Struct coercion now errors if you provide a sequence with too many elements This also makes sure that PyConversion doesn't set an error state if ESetErrorState::No is passed (which could have previously happened from type casting calls). Change 4015290 by Andrew.Rodham Sequencer: Moved runtime functionality from ISequencerChannelInterface to IMovieSceneChannelInterface - Rename IBatchChannelInterface to IMovieSceneChannelInterface - Removed MovieScene::Dilate() - Added TMovieSceneChannelTraits::SupportsDefaults to automatically stub out functions relating to channel defaults Change 4015664 by Jamie.Dale Renamed ScriptMathOp meta-data to ScriptOperator Change 4016230 by Jamie.Dale Fixed incorrect make/break path in Importance Sampling Library (for Importance Texture) Change 4017326 by Jamie.Dale Added make and break support in Python Structs that have a native make function will now use this as their constructor. This also adds support for breaking a struct into a tuple, either via a native break function, or via generic property enumeration. Change 4017551 by Jamie.Dale Removed redundant outer parameter from find/load_asset/package Change 4018594 by Jamie.Dale Added ScriptMethodSelfReturn as an alternative to UPARAM(ref) These two function signatures produce the same behavior and have the same cost in Python, the only difference is how they appear to Blueprints (and Blueprints seem to favor non-reference functions). UFUNCTION(..., meta=(ScriptMethod)) static void DoThing(UPARAM(ref) FThingType&, int32); UFUNCTION(..., meta=(ScriptMethod, ScriptMethodSelfReturn)) static FThingType DoThing(FThingType, int32); Change 4020956 by Anousack.Kitisa Added Shotgun to the Level Editor/World Outliner and Content Browser context menus when there's a selected actor or asset. #jira UEENT-1219 Change 4021986 by Anousack.Kitisa Used the Python startup scripts mechanism to launch the Shotgun bootstrap script. Related to Jira UE-57896. Change 4022993 by Jamie.Dale Added support for extra operators on Python structs You can now expose bool conversion and comparison operators (==, !=, <, <=, >, >=) in addition to the previous set of math operators. As part of this there is now stricter signature validation when generating the Python binding. Change 4023226 by Jamie.Dale Added Make and Break function for FSoftClassPath Change 4023348 by Jamie.Dale Exposed some methods and operators for PrimaryAssetId and PrimaryAssetType Change 4027911 by Jamie.Dale Cross-outer redirects are no longer applied in Python #jira UETOOL-1382 Change 4029618 by JeanMichel.Dignard Unreal Studio UX - Made "Unreal Studio" the default tab in the new project wizard if we're using an installed enterprise build. - Create new projects as enterprise projects if we're using an insalled enterprise build. #jira UEENT-1231, UEENT-796 Change 4030217 by Jamie.Dale Exposed ScopedSlowTask to Python #jira UETOOL-1375 Change 4030784 by Matt.Hoffman Sequencer curve editor now shows vertical axis labels. #jira UE-58160 Change 4030858 by JeanLuc.Corenthin Expose LOD creation thru Python: - Create one struct to hold onto reduction settings per LOD - Create one struct to hold onto an array of reduction settings and a parameter to enable of disable automatic computation of screen size - Create new method to apply reduction settings to an array of StaticMeshActors #jira UEENT-1232 Change 4032239 by Jamie.Dale Cleanup pass over wrapped structs - Code dealing with reflected structs now uses UScriptStruct rather than UStruct. - The old PyConversion::NativizeStruct and PyConversion::PythonizeStruct have been renamed to PyConversion::NativizeStructInstance and PyConversion::PythonizeStructInstance. - New PyConversion::NativizeStruct and PyConversion::PythonizeStruct functions have been added to convert an object (or Python type) to a UScriptStruct (akin to what PyConversion::NativizeClass and PyConversion::PythonizeClass does for UClass). Change 4032247 by Jamie.Dale Cleaned up some Python slow task code Change 4032251 by Jamie.Dale Added functions to get the Python type associated with an Unreal class, struct, or enum Change 4032258 by Jamie.Dale Added Python iterators for Unreal objects, classes, and structs, as well as the Python types wrapped by Unreal classes or structs #jira UETOOL-1380 Change 4032320 by Jamie.Dale Fixed Python object iterators skipping their first item Change 4032321 by Jamie.Dale Added Python iterators for actors and selected actors #jira UETOOL-1380 Change 4033908 by Anousack.Kitisa Added Shotgun settings for metadata tags. #jira UEENT-1175 Change 4033909 by Anousack.Kitisa Added wrapper function to sync Content Browser to assets for scripting. #jira UEENT-1218 Change 4034951 by Matt.Hoffman Media Tracks now highlight when added to a Sequence/UMG animation. Change 4034966 by Jamie.Dale Added GIL locks around post_init code that can be called from C++ Change 4035019 by Matt.Hoffman UMG Render Transforms + Margins now support infinite sections. Change 4035470 by Andrew.Rodham Introduced a common base class for all movie scene channel data, FMovieSceneChannel. Removed IMovieSceneChannelInterface. Renamed FMovieSceneChannelEditorData to FMovieSceneChannelMetaData. Renamed FMovieSceneChannel and TMovieSceneChannel to FMovieSceneChannelData and TMovieSceneChannelData, to make way for common channel base class. Renamed instances of 'specialized' channel editor data to 'extended' channel editor data. Introduced non-templated FMovieSceneChannelHandle and a templated version. Changed internal implementation to use a lookup rather than a directly resolved weak ptr. Various pieces of documentation and cleanup. Change 4037112 by Max.Chen Sequencer: Added some missing RF_Transactional flags to newly created sections. Change 4037121 by Max.Chen Sequence Recorder: Timecode recording Introduced an FSourceTimecode which is saved as editor only data to the MovieSceneSection and MovieScene. FSourceTimecode consists of an FFrameNumber delta that correlates the section's initial start time to an FTimecode. The FFrameNumber is adjusted whenever the section is moved. One use case for this is through sequence recorder, which captures the timecode at the start of recording and saves an FSourceTimecode per movie scene section it creates. If the section is moved, it can always be returned to its source timecode by the section's right click menu, "Sync to Source Timecode". #jira UESEQ-406 Change 4038462 by Jamie.Dale Added support for using Python callables with delegates All the "x_function" methods on delegates and multicast delegates now have an "x_callable" equivalent that take a Python callable (we attempt basic validation of the signature, but that only allows us to check the input argument count is what we expect). Internally the callable is wrapped in a UObject, so certain GC restrictions are present (and is why coercion is disabled for callables). Delegates wrapped in Python (including as a direct property of an object or struct, or inside a container) will be kept alive via the Python reference collection, however once there are no Python references left the proxy object will be allowed to die unless something external has taken a reference to the proxy object. Change 4039123 by James.McNatton Remove dependency on SteamController in VirtualCamera #rb none Change 4039162 by Jamie.Dale Fixed linter warnings about unescaped backslashes in docstrings Change 4039170 by Jamie.Dale No longer expose deprecated functions or properties if they clash with another Python exposed item Change 4039429 by Max.Chen Sequence Recorder: Swap to editor actors on end PIE if the actors to record were set to the PIE actors Change 4039442 by Max.Chen Sequence Recorder: Find the existing object binding and record into it if it exists. When recording to an existing object binding, if the track exists, remove all animation data and reuse the track. Change 4039477 by Jamie.Dale Added warnings for conflicting Python type and field names Change 4039478 by Jamie.Dale Fixed warnings for conflicting Python type and field names Change 4039511 by Max.Chen Sequencer: Remove all animation data for spawn track Change 4040649 by James.McNatton Multiple Virtual Camera bug fixes - Removed QAGame mannequin from test map - Fixed errors being generated when trying to load preset - Presets now properly load and save axis settings - Deleted presets should no longer linger in menus - Presets now save and load favorite status Change 4041356 by Max.Chen Sequence Recorder: Takes system #jira UESP-544 Change 4041589 by Jamie.Dale Added C++ source information (plugin, module, and file) to the Python doc string Change 4041746 by Jamie.Dale Made ScriptOperator more relaxed about its signature validation as long as the additional input parameters are defaulted Change 4041757 by James.McNatton Virtual Camera Bug Fixes - The Input Source dropdown now accurately reflects user selection - Input source changed to EditDefaultsOnly - Focus should no longer be set when the settings menu is open Change 4041823 by Jamie.Dale Made ScriptOperator more relaxed about its signature validation for defaulted input parameters Existing Blueprint exposed operator functions may both default required arguments, and add additional default arguments. ScriptOperator will now accept both of these as long as there are enough arguments, but not too many non-defaulted arguments. Change 4042956 by James.McNatton VirtualCamera bug fixes related to focus plane visualization - Removed extra focus plane that was being displayed - Added logic to adjust for nonuniform scaling of objects when settings up tracking focus Change 4043400 by James.McNatton Multiple bug fixes related to saving various values - Now saves matte opacity and updates on load - Now saves filmback format name and updates on load - Now saves desired distance units and updates on load Change 4043481 by James.McNatton Fixed issue in Virtual Camera where joystick movement would not properly apply locks after rotating #rb none Change 4044358 by Jamie.Dale Fixed some cases where empty default values would be lost from UHT Eg, empty strings, null objects Change 4044362 by Jamie.Dale Fixed old-style enums being missed by the Python glue generation if they're only referenced by a property of function Change 4044371 by Jamie.Dale Fixed default value application for some struct types that use a custom default value format when exported by UHT Change 4044417 by Max.Chen Sequence Recorder: Better default group names with an underscore separator for letters Change 4045164 by Jamie.Dale Hardened usage of CopyScriptStruct to ensure that the source type is a child of the destination type, and that the destination type is used to copy (to still allow slicing of derived data) Change 4045195 by Jamie.Dale Updated FPropValueOnScope::GetValue to be able to return the value for a particular array index Change 4045589 by James.McNatton Fixed packaging error for VirtualCamera plugin - Plugin is now a runtime plugin rather than developer - Fixed up associated warnings with saving and loading in editor Change 4046208 by James.McNatton Virtual Camera bug fixes - Adjusted how mattes and filmback works together - Should now always respond properly to changing filmback settings in UI - Should now match the correct view size within the matte under all circumstances Change 4046372 by Max.Chen Sequencer: Fix subsequence binding ids. #jira UE-55337 Change 4046694 by Max.Chen Sequence Recorder: Compile the template before finding the camera sequence id since the precompiled template is not up to date. Change 4046801 by Jamie.Dale Improved default values and return types used in the unreal.py stub file - Object and Struct types generate an __init__ function with the correct signature. - Struct __init__ functions list the correct default values (including when using make/break functions). - Methods now list the correct default values. - Get/Set getters return a value of the correct type. - Get/Set setters are no longer exported for read-only properties. - Constants resolve to the correct type and value. #jira UETOOL-1377 Change 4047023 by Jamie.Dale Added missing hook-up for % and %= in Python Change 4047100 by Jamie.Dale Operators are now exposed to unreal.py and generate docs stating which overloads are available Change 4047105 by Jamie.Dale String is now "str" in doc strings to match the Python type Change 4047714 by Max.Chen Sequencer: Resolved merge conflicts with Dev-Sequencer Change 4048150 by Jamie.Dale Fixed single-culture PO import/export failing #jira UE-47079 Change 4048653 by Andrew.Rodham Sequencer: Automatic re-evaluation is now suppressed for external changes that modified only default values on channels - The issue is that moving an object that is partially-keyed in sequencer, with auto-key off, will set default values for the non-keyed channels. Doing so will dirty the sequence, which causes a re-evaluation, which re-evalutes the keyed channels, which effectively undoes the external change. - This is now fixed by suppressing the automatic re-evaluation for a specific signature of a specific sequence, if that is the only thing that has dirtied the sequence. Any subsequent changes to the sequence will cause a re-evaluation, and the suppression to be wiped. #jira UE-57519 #jira UE-58487 Change 4048814 by Jamie.Dale Fixed syntax error if an enum had an unknown value Change 4048819 by Jamie.Dale Fixed struct init functions having the wrong default values Change 4048856 by JeanLuc.Corenthin - Removed LOD & collision functions from UEditorLevelLibrary - Created a new class, UEditorMeshLibrary, to hold onto functionalities related to StaticMeshes - Added method to set LODs on a static mesh - Added method to remove LODs from a static mesh - Added method to get number of LODs on a static mesh - Added method to get number of simple collisions onto a static mesh - Added method to get number of convex collisions onto a static mesh - Added method to add convex collision onto a static mesh - Added method to remove all collisions onto a static mesh #jira UEENT-1232 #jira UEENT-1233 Change 4048961 by Jamie.Dale Improved formatting of output parameters in doc strings #jira UETOOL-1376 Change 4048988 by Jamie.Dale Fixed context leakage between the console and files, and import "unreal" by default now in the console #jira UETOOL-1379 Change 4049912 by Max.Chen Sequence Recorder: Minor recording group name improvements. - Initialize newly created actor group with existing actor group's base path. - When duplicating, use the current group's name as the base. - When typing in a name, if it fits the group format, the name should be allowable if it doesn't conflict with existing group names/assets. Change 4049934 by Andrew.Rodham Sequencer: Minor clean-up of sequencer interfaces and overloads - Replaced remaining instances of void* with FMovieSceneChannel* now that we mandate a common base class - Changed remaining explicit calls to SetDefault to SetChannelDefault overload so it works correctly with the SupportsDefaults trait - Exposed ability to manually implement an ISequencerChannelInterface rather than using the default templated one Change 4050608 by conan.reis Was getting link error about use of FFrameTime in ULevelSequencePlaybackController::PlayFromBeginning() in the VirtualCamera plugin so added TimeManagement to its dependant modules so it compiles again. Change 4050899 by Max.Chen Sequencer: Allow actor components for synchronization #jira UE-58468 Change 4050900 by Max.Chen Sequence Recorder: Don't create a spawn section if the object is a possessable #jira UE-58272 Change 4050904 by Max.Chen Curve Editor: Fix for evaluation a section of time when one key is non-weighted and the other is weighted. What we do is evaluate them both as being weighted, but we don't have the weight value for the non-weighted tangent. The weight of the non-weighted tangent is implicilty 1/3rd the distance between the two points, so we just calculate that if needed. #jira UE-58573 Change 4050905 by Max.Chen Curve Editor: When calculating vertical extents find feature points where slopes are zero and check them in addition to the keys if the curve is cubic. Curves now fit correclty vertically. Also changed fudge to 5% from 10% to match up old editor. Tighter fits seems better. #jira UE-58571 Change 4050972 by James.McNatton Added functions to ISequenceRecorder - Calling StartRecording with an empty array now triggers recording without clearning queued recordings - Added function to queue an actor to be recorded - Added function to check the next take number for a given actor when using groups Change 4050994 by James.McNatton Bug fixes for Virtual Camera - Preset menu now shows dates in the timestamp - Resetting offsets now alerts the system to update UI Change 4051431 by David.Hibbitts Added a component and blueprint library to access LiveLink data in blueprints which also works in editor. Deprecated LiveLink Driven component #jira UESP-577 Change 4051475 by Patrick.Boutot Rename EditorMeshLibrary Merge AssetScriptingUtilititesEditor with EditorScriptingUtilities. Add Redirects. Change 4051558 by Patrick.Boutot EngineCustomTimeStep returns true when we also want to perform the default engine code. Change 4052106 by Andrew.Rodham Sequencer: Adding an example that creates a sequence out of the current editor selection Change 4052205 by Anousack.Kitisa Fixed selected asset paths referenced by selected actors when using context Shotgun menu. Added function to retrieve the work area directory for Shotgun. #jira UEENT-1220 Change 4052951 by James.McNatton Virtual Camera Sequence Recorder updates to integrate new take system - Takes no longer display unless sequence recorder has a group selected - Adjusted fix to packaging error - FPS value will no longer appear if sequence recorder isn't available Change 4053130 by mason.seay Updated Game Mode Override Change 4053273 by James.McNatton Virtual Camera cleanup adjustments Change 4053627 by Max.Chen Sequencer: Disable bind sequencer to PIE/simulate while recording. Change 4053628 by Max.Chen Sequence Recorder: Fix target animation not persisting #jira UE-58508 Change 4053871 by Max.Chen Image Plate: Fix icon path Change 4054370 by Patrick.Boutot Remove LiveLink warning. Create base a class for FLiveLinkFrameRate as suggested in GenericPlatformCompilerPreSetup.h Change 4054447 by Darren.Pegg AJA low level device API Blackmagic low level API MediaIOCore changes to support AJA/Blackmagic changes AJA Module converted to use MediaIOCore Blackmagic Module changes for MediaIOCore Blackmagic/AJA Binary files Change 4054769 by Patrick.Boutot Packaging error issue introduce with CL 4054370. #jira UE-58749 Change 4055443 by Max.Chen Sequencer: Fix crash in adding filler shot #jira UE-58767 Change 4056577 by JeanMichel.Dignard Fixed crash with automation tests. We would bind the default UEditorEngine to Automation and on map load, it would call PIE on GEditor but with recent changes, PIE is called on this and the default UEditorEngine is not initialized so it would crash with a null GameViewportClass. Now we'll bind Automation on UEditorEngine InitializeObjectReferences so that we're in a good state and it's only called for GEditor. #jira UE-58792 Change 4057238 by Jamie.Dale Fixed crash when renaming Python generated classes or structs Change 4058435 by Jamie.Dale Fixed lingering exception state when converting a dict to a struct Change 4058486 by mason.seay Removed remote.host call from map [CL 4060164 by JeanMichel Dignard in Main branch]
2018-05-09 10:24:50 -04:00
}
// Give up timeslice for remainder of wait time.
const double WaitEndTime = FApp::GetLastTime() + FApp::GetDeltaTime();
while (FPlatformTime::Seconds() < WaitEndTime)
{
FPlatformProcess::SleepNoStats(0.f);
}
}
// Use fixed delta time and update time.
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
FApp::SetDeltaTime(FrameRate.AsInterval());
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4059031) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3974233 by Rex.Hill Optimized BuildStaticMeshVertexAndIndexBuffers and TEdgeBuilder Change 3974234 by Rex.Hill Reduced number of calls to SaveRawMesh and LoadRawMesh Change 3974235 by Rex.Hill Optimized SaveRawMesh by pre-allocating buffer Change 3981370 by Jamie.Dale Added support for deprecated (renamed) classes, structs, enums, functions, and properties in Python The glue code generation will now use the existing redirects system to build deprecated entries for old names. You can also specify deprecated names to the ScriptName and ScriptMethod meta-data values by adding extra semi-colon separated entries (the first entry is the current name). Accessing deprecated objects in Python leads to a deprecation warning when developer mode is enabled. Change 3983875 by Jamie.Dale Exposed some asset registry functions that may be useful in a commandlet environment Change 3983901 by Jamie.Dale Hoisted some AssetData helpers onto the struct in Python Change 3988367 by Jamie.Dale Python now honors EditInstanceOnly and EditDefaultsOnly when setting property values Change 3988369 by Jamie.Dale Exposed generic get_default_object function that takes a type and returns you the CDO This is needed for types that aren't natively exposed to Python (such as Blueprint generated types) Change 3989890 by Jamie.Dale Moved BlutilityActor to be Private in EditorScriptingUtils This can be removed once it's no longer needed. Change 3989900 by Jamie.Dale Updated EditorScriptingUtilities to use the Public/Private folder structure for source code Change 3990082 by Anousack.Kitisa Added plugin for Shotgun integration in Unreal. #jira UEENT-959 Change 3990783 by Anousack.Kitisa Changed ShotgunMenuItem to a struct. Change 3991139 by Jamie.Dale Minimized use of GUnrealEd (favoring GEditor) so that this code can be used by commandlets Removed redundant usages of GEditor/GUnrealEd from within UEditorEngine itself, and fixed cases where null data was being accessed. Testing that loading, saving, and creating a new blank map will now work in a commandlet without crashing. Change 3993189 by Jamie.Dale Fixed some mismatched return types Change 3993191 by Jamie.Dale Inital support for taking the GIL at key points where external C code calls into Python Change 3993683 by Patrick.Boutot [LTC] Add a CustomTimeStep that decode a LinearTimecode from the MediaSource. The MediaPlayer need to support buffering and should not run late since it's used to tick the engine time. Update DropTimecode to use the new Timecode structure in TimeManagement. Change 3994430 by Jamie.Dale Adjusted how inline structs work so that types known at compile time can inline allocate without being fully hand-wrapped in Python They must now be registered via FPyWrapperTypeRegistry::RegisterInlineStructFactory before we start generating wrapped types Change 3996083 by Jamie.Dale Added a distinct type for generated enum types so that you can query their available enum entries Change 3998253 by conan.reis Remove redundant Perforce error output from the log Change 4000307 by JeanMichel.Dignard Optimized FFbxImporter::ValidateAllMeshesAreReferenceByNodeAttribute() - Stored all scene nodes geometry ids in a set instead of looping on all scene nodes for every geometry. O(N) instead of O(N^2). - For 38685 scene nodes and 5417 geometry, the time went from 2 min 21.688 s to 0 min 0.098 s. Change 4000605 by Jamie.Dale Added support for constant "hoisting" This allows you to tag a helper function that returns a constant with ScriptConstant meta-data (providing a potentially overridden name) to "hoist" that helper function to be a constant of the type it operates on when wrapped for Python (ScriptConstantHost can be used to host the constant on a struct rather than its own object). Change 4001617 by Jamie.Dale Updated ScriptMethod and ScriptConstant to allow hoisting onto other classes as well as structs This allows you to have a runtime class be extended via methods in an editor-only module Change 4005287 by Jamie.Dale Added a GIL lock when Slate Tick events call back into Python Change 4005383 by Andrew.Rodham Sequencer: Initial scripting exposure and support First pass includes the following: - Find/add/interate master tracks - Find/add/interate bindings (both possessables and spawnables) - Find/add/interate tracks on bindings - Add/interate sections on tracks - Get/Set section ranges Change 4008609 by Jamie.Dale Added some missing native Python types to the documentation Native modules now build up a list of types and functions associated with them. This information is then passed through to the document generation to ensure that all exposed native types and functions are documented. In addition, any native Python module files are now assimilated into the unreal.py stub file and parsed so that they can be documented too. Change 4008654 by Jamie.Dale Allow math operators to use the base type versions unless overridden Change 4009740 by Patrick.Boutot Add BP function to convert a Timecode into a string. Change 4009763 by Patrick.Boutot Update AudioCapture to retreive the SampleRate. Used by the LinearTimecode. Change the requested format from int16 to float since we converted it into that format later on. Change 4009768 by Andrew.Rodham Removed explicit names from ScriptName methods, expanded sequencer scripting range functionality Change 4009830 by Jamie.Dale Added support for UPARAM(ref) on arguments exposed to Python For standard functions, this just produces an input and output for the same argument (we can't mutate the input due to potential coercion). For ScriptMethod functions that use it on the 'self' argument, this will mark the function as "inline" and have the function apply the result of the 'self' argument back onto the 'self' instance after calling the function. Change 4010034 by Jamie.Dale Added support for init_unreal.py start-up scripts These can be placed in any known sys.path in Python, including the Content/Python folders we automatically add, and the UnrealEngine/Python directory under the users home directory. Change 4010422 by Jamie.Dale Improved errror reporting during Python generation It will now ensure if a debugger is attached to draw programmer attention to an error. Change 4010498 by Patrick.Boutot Remove unnecessary loop Timecode.ToFrameNumber() Change 4011312 by Jamie.Dale Duplicate deprecated names will no longer assert during Python glue generation They will now log a warning and continue Change 4012068 by JeanMichel.Dignard Allow to render thumbnails for newly created packages. - To render a thumbnail, you either need a customer thumbnail renderer or a cached thumbnail. Querying cached thumbnails fails for newly created packages because it calls DoesPackageExist which check on disk. This call is unnecessary since we're relying on FindPackage which only works for packages that are loaded in memory. Change 4013781 by Jamie.Dale FFrame::KismetExecutionMessage (or LogRuntimeError or LogRuntimeWarning) will now produce Python exceptions You can use these to emit warnings or errors from UFunctions wrapped for scripting, and when called from Python they will produce a Python exception (for errors), or Python warning (for warnings). Change 4014337 by Jamie.Dale Struct coercion now errors if you provide a sequence with too many elements This also makes sure that PyConversion doesn't set an error state if ESetErrorState::No is passed (which could have previously happened from type casting calls). Change 4015290 by Andrew.Rodham Sequencer: Moved runtime functionality from ISequencerChannelInterface to IMovieSceneChannelInterface - Rename IBatchChannelInterface to IMovieSceneChannelInterface - Removed MovieScene::Dilate() - Added TMovieSceneChannelTraits::SupportsDefaults to automatically stub out functions relating to channel defaults Change 4015664 by Jamie.Dale Renamed ScriptMathOp meta-data to ScriptOperator Change 4016230 by Jamie.Dale Fixed incorrect make/break path in Importance Sampling Library (for Importance Texture) Change 4017326 by Jamie.Dale Added make and break support in Python Structs that have a native make function will now use this as their constructor. This also adds support for breaking a struct into a tuple, either via a native break function, or via generic property enumeration. Change 4017551 by Jamie.Dale Removed redundant outer parameter from find/load_asset/package Change 4018594 by Jamie.Dale Added ScriptMethodSelfReturn as an alternative to UPARAM(ref) These two function signatures produce the same behavior and have the same cost in Python, the only difference is how they appear to Blueprints (and Blueprints seem to favor non-reference functions). UFUNCTION(..., meta=(ScriptMethod)) static void DoThing(UPARAM(ref) FThingType&, int32); UFUNCTION(..., meta=(ScriptMethod, ScriptMethodSelfReturn)) static FThingType DoThing(FThingType, int32); Change 4020956 by Anousack.Kitisa Added Shotgun to the Level Editor/World Outliner and Content Browser context menus when there's a selected actor or asset. #jira UEENT-1219 Change 4021986 by Anousack.Kitisa Used the Python startup scripts mechanism to launch the Shotgun bootstrap script. Related to Jira UE-57896. Change 4022993 by Jamie.Dale Added support for extra operators on Python structs You can now expose bool conversion and comparison operators (==, !=, <, <=, >, >=) in addition to the previous set of math operators. As part of this there is now stricter signature validation when generating the Python binding. Change 4023226 by Jamie.Dale Added Make and Break function for FSoftClassPath Change 4023348 by Jamie.Dale Exposed some methods and operators for PrimaryAssetId and PrimaryAssetType Change 4027911 by Jamie.Dale Cross-outer redirects are no longer applied in Python #jira UETOOL-1382 Change 4029618 by JeanMichel.Dignard Unreal Studio UX - Made "Unreal Studio" the default tab in the new project wizard if we're using an installed enterprise build. - Create new projects as enterprise projects if we're using an insalled enterprise build. #jira UEENT-1231, UEENT-796 Change 4030217 by Jamie.Dale Exposed ScopedSlowTask to Python #jira UETOOL-1375 Change 4030784 by Matt.Hoffman Sequencer curve editor now shows vertical axis labels. #jira UE-58160 Change 4030858 by JeanLuc.Corenthin Expose LOD creation thru Python: - Create one struct to hold onto reduction settings per LOD - Create one struct to hold onto an array of reduction settings and a parameter to enable of disable automatic computation of screen size - Create new method to apply reduction settings to an array of StaticMeshActors #jira UEENT-1232 Change 4032239 by Jamie.Dale Cleanup pass over wrapped structs - Code dealing with reflected structs now uses UScriptStruct rather than UStruct. - The old PyConversion::NativizeStruct and PyConversion::PythonizeStruct have been renamed to PyConversion::NativizeStructInstance and PyConversion::PythonizeStructInstance. - New PyConversion::NativizeStruct and PyConversion::PythonizeStruct functions have been added to convert an object (or Python type) to a UScriptStruct (akin to what PyConversion::NativizeClass and PyConversion::PythonizeClass does for UClass). Change 4032247 by Jamie.Dale Cleaned up some Python slow task code Change 4032251 by Jamie.Dale Added functions to get the Python type associated with an Unreal class, struct, or enum Change 4032258 by Jamie.Dale Added Python iterators for Unreal objects, classes, and structs, as well as the Python types wrapped by Unreal classes or structs #jira UETOOL-1380 Change 4032320 by Jamie.Dale Fixed Python object iterators skipping their first item Change 4032321 by Jamie.Dale Added Python iterators for actors and selected actors #jira UETOOL-1380 Change 4033908 by Anousack.Kitisa Added Shotgun settings for metadata tags. #jira UEENT-1175 Change 4033909 by Anousack.Kitisa Added wrapper function to sync Content Browser to assets for scripting. #jira UEENT-1218 Change 4034951 by Matt.Hoffman Media Tracks now highlight when added to a Sequence/UMG animation. Change 4034966 by Jamie.Dale Added GIL locks around post_init code that can be called from C++ Change 4035019 by Matt.Hoffman UMG Render Transforms + Margins now support infinite sections. Change 4035470 by Andrew.Rodham Introduced a common base class for all movie scene channel data, FMovieSceneChannel. Removed IMovieSceneChannelInterface. Renamed FMovieSceneChannelEditorData to FMovieSceneChannelMetaData. Renamed FMovieSceneChannel and TMovieSceneChannel to FMovieSceneChannelData and TMovieSceneChannelData, to make way for common channel base class. Renamed instances of 'specialized' channel editor data to 'extended' channel editor data. Introduced non-templated FMovieSceneChannelHandle and a templated version. Changed internal implementation to use a lookup rather than a directly resolved weak ptr. Various pieces of documentation and cleanup. Change 4037112 by Max.Chen Sequencer: Added some missing RF_Transactional flags to newly created sections. Change 4037121 by Max.Chen Sequence Recorder: Timecode recording Introduced an FSourceTimecode which is saved as editor only data to the MovieSceneSection and MovieScene. FSourceTimecode consists of an FFrameNumber delta that correlates the section's initial start time to an FTimecode. The FFrameNumber is adjusted whenever the section is moved. One use case for this is through sequence recorder, which captures the timecode at the start of recording and saves an FSourceTimecode per movie scene section it creates. If the section is moved, it can always be returned to its source timecode by the section's right click menu, "Sync to Source Timecode". #jira UESEQ-406 Change 4038462 by Jamie.Dale Added support for using Python callables with delegates All the "x_function" methods on delegates and multicast delegates now have an "x_callable" equivalent that take a Python callable (we attempt basic validation of the signature, but that only allows us to check the input argument count is what we expect). Internally the callable is wrapped in a UObject, so certain GC restrictions are present (and is why coercion is disabled for callables). Delegates wrapped in Python (including as a direct property of an object or struct, or inside a container) will be kept alive via the Python reference collection, however once there are no Python references left the proxy object will be allowed to die unless something external has taken a reference to the proxy object. Change 4039123 by James.McNatton Remove dependency on SteamController in VirtualCamera #rb none Change 4039162 by Jamie.Dale Fixed linter warnings about unescaped backslashes in docstrings Change 4039170 by Jamie.Dale No longer expose deprecated functions or properties if they clash with another Python exposed item Change 4039429 by Max.Chen Sequence Recorder: Swap to editor actors on end PIE if the actors to record were set to the PIE actors Change 4039442 by Max.Chen Sequence Recorder: Find the existing object binding and record into it if it exists. When recording to an existing object binding, if the track exists, remove all animation data and reuse the track. Change 4039477 by Jamie.Dale Added warnings for conflicting Python type and field names Change 4039478 by Jamie.Dale Fixed warnings for conflicting Python type and field names Change 4039511 by Max.Chen Sequencer: Remove all animation data for spawn track Change 4040649 by James.McNatton Multiple Virtual Camera bug fixes - Removed QAGame mannequin from test map - Fixed errors being generated when trying to load preset - Presets now properly load and save axis settings - Deleted presets should no longer linger in menus - Presets now save and load favorite status Change 4041356 by Max.Chen Sequence Recorder: Takes system #jira UESP-544 Change 4041589 by Jamie.Dale Added C++ source information (plugin, module, and file) to the Python doc string Change 4041746 by Jamie.Dale Made ScriptOperator more relaxed about its signature validation as long as the additional input parameters are defaulted Change 4041757 by James.McNatton Virtual Camera Bug Fixes - The Input Source dropdown now accurately reflects user selection - Input source changed to EditDefaultsOnly - Focus should no longer be set when the settings menu is open Change 4041823 by Jamie.Dale Made ScriptOperator more relaxed about its signature validation for defaulted input parameters Existing Blueprint exposed operator functions may both default required arguments, and add additional default arguments. ScriptOperator will now accept both of these as long as there are enough arguments, but not too many non-defaulted arguments. Change 4042956 by James.McNatton VirtualCamera bug fixes related to focus plane visualization - Removed extra focus plane that was being displayed - Added logic to adjust for nonuniform scaling of objects when settings up tracking focus Change 4043400 by James.McNatton Multiple bug fixes related to saving various values - Now saves matte opacity and updates on load - Now saves filmback format name and updates on load - Now saves desired distance units and updates on load Change 4043481 by James.McNatton Fixed issue in Virtual Camera where joystick movement would not properly apply locks after rotating #rb none Change 4044358 by Jamie.Dale Fixed some cases where empty default values would be lost from UHT Eg, empty strings, null objects Change 4044362 by Jamie.Dale Fixed old-style enums being missed by the Python glue generation if they're only referenced by a property of function Change 4044371 by Jamie.Dale Fixed default value application for some struct types that use a custom default value format when exported by UHT Change 4044417 by Max.Chen Sequence Recorder: Better default group names with an underscore separator for letters Change 4045164 by Jamie.Dale Hardened usage of CopyScriptStruct to ensure that the source type is a child of the destination type, and that the destination type is used to copy (to still allow slicing of derived data) Change 4045195 by Jamie.Dale Updated FPropValueOnScope::GetValue to be able to return the value for a particular array index Change 4045589 by James.McNatton Fixed packaging error for VirtualCamera plugin - Plugin is now a runtime plugin rather than developer - Fixed up associated warnings with saving and loading in editor Change 4046208 by James.McNatton Virtual Camera bug fixes - Adjusted how mattes and filmback works together - Should now always respond properly to changing filmback settings in UI - Should now match the correct view size within the matte under all circumstances Change 4046372 by Max.Chen Sequencer: Fix subsequence binding ids. #jira UE-55337 Change 4046694 by Max.Chen Sequence Recorder: Compile the template before finding the camera sequence id since the precompiled template is not up to date. Change 4046801 by Jamie.Dale Improved default values and return types used in the unreal.py stub file - Object and Struct types generate an __init__ function with the correct signature. - Struct __init__ functions list the correct default values (including when using make/break functions). - Methods now list the correct default values. - Get/Set getters return a value of the correct type. - Get/Set setters are no longer exported for read-only properties. - Constants resolve to the correct type and value. #jira UETOOL-1377 Change 4047023 by Jamie.Dale Added missing hook-up for % and %= in Python Change 4047100 by Jamie.Dale Operators are now exposed to unreal.py and generate docs stating which overloads are available Change 4047105 by Jamie.Dale String is now "str" in doc strings to match the Python type Change 4047714 by Max.Chen Sequencer: Resolved merge conflicts with Dev-Sequencer Change 4048150 by Jamie.Dale Fixed single-culture PO import/export failing #jira UE-47079 Change 4048653 by Andrew.Rodham Sequencer: Automatic re-evaluation is now suppressed for external changes that modified only default values on channels - The issue is that moving an object that is partially-keyed in sequencer, with auto-key off, will set default values for the non-keyed channels. Doing so will dirty the sequence, which causes a re-evaluation, which re-evalutes the keyed channels, which effectively undoes the external change. - This is now fixed by suppressing the automatic re-evaluation for a specific signature of a specific sequence, if that is the only thing that has dirtied the sequence. Any subsequent changes to the sequence will cause a re-evaluation, and the suppression to be wiped. #jira UE-57519 #jira UE-58487 Change 4048814 by Jamie.Dale Fixed syntax error if an enum had an unknown value Change 4048819 by Jamie.Dale Fixed struct init functions having the wrong default values Change 4048856 by JeanLuc.Corenthin - Removed LOD & collision functions from UEditorLevelLibrary - Created a new class, UEditorMeshLibrary, to hold onto functionalities related to StaticMeshes - Added method to set LODs on a static mesh - Added method to remove LODs from a static mesh - Added method to get number of LODs on a static mesh - Added method to get number of simple collisions onto a static mesh - Added method to get number of convex collisions onto a static mesh - Added method to add convex collision onto a static mesh - Added method to remove all collisions onto a static mesh #jira UEENT-1232 #jira UEENT-1233 Change 4048961 by Jamie.Dale Improved formatting of output parameters in doc strings #jira UETOOL-1376 Change 4048988 by Jamie.Dale Fixed context leakage between the console and files, and import "unreal" by default now in the console #jira UETOOL-1379 Change 4049912 by Max.Chen Sequence Recorder: Minor recording group name improvements. - Initialize newly created actor group with existing actor group's base path. - When duplicating, use the current group's name as the base. - When typing in a name, if it fits the group format, the name should be allowable if it doesn't conflict with existing group names/assets. Change 4049934 by Andrew.Rodham Sequencer: Minor clean-up of sequencer interfaces and overloads - Replaced remaining instances of void* with FMovieSceneChannel* now that we mandate a common base class - Changed remaining explicit calls to SetDefault to SetChannelDefault overload so it works correctly with the SupportsDefaults trait - Exposed ability to manually implement an ISequencerChannelInterface rather than using the default templated one Change 4050608 by conan.reis Was getting link error about use of FFrameTime in ULevelSequencePlaybackController::PlayFromBeginning() in the VirtualCamera plugin so added TimeManagement to its dependant modules so it compiles again. Change 4050899 by Max.Chen Sequencer: Allow actor components for synchronization #jira UE-58468 Change 4050900 by Max.Chen Sequence Recorder: Don't create a spawn section if the object is a possessable #jira UE-58272 Change 4050904 by Max.Chen Curve Editor: Fix for evaluation a section of time when one key is non-weighted and the other is weighted. What we do is evaluate them both as being weighted, but we don't have the weight value for the non-weighted tangent. The weight of the non-weighted tangent is implicilty 1/3rd the distance between the two points, so we just calculate that if needed. #jira UE-58573 Change 4050905 by Max.Chen Curve Editor: When calculating vertical extents find feature points where slopes are zero and check them in addition to the keys if the curve is cubic. Curves now fit correclty vertically. Also changed fudge to 5% from 10% to match up old editor. Tighter fits seems better. #jira UE-58571 Change 4050972 by James.McNatton Added functions to ISequenceRecorder - Calling StartRecording with an empty array now triggers recording without clearning queued recordings - Added function to queue an actor to be recorded - Added function to check the next take number for a given actor when using groups Change 4050994 by James.McNatton Bug fixes for Virtual Camera - Preset menu now shows dates in the timestamp - Resetting offsets now alerts the system to update UI Change 4051431 by David.Hibbitts Added a component and blueprint library to access LiveLink data in blueprints which also works in editor. Deprecated LiveLink Driven component #jira UESP-577 Change 4051475 by Patrick.Boutot Rename EditorMeshLibrary Merge AssetScriptingUtilititesEditor with EditorScriptingUtilities. Add Redirects. Change 4051558 by Patrick.Boutot EngineCustomTimeStep returns true when we also want to perform the default engine code. Change 4052106 by Andrew.Rodham Sequencer: Adding an example that creates a sequence out of the current editor selection Change 4052205 by Anousack.Kitisa Fixed selected asset paths referenced by selected actors when using context Shotgun menu. Added function to retrieve the work area directory for Shotgun. #jira UEENT-1220 Change 4052951 by James.McNatton Virtual Camera Sequence Recorder updates to integrate new take system - Takes no longer display unless sequence recorder has a group selected - Adjusted fix to packaging error - FPS value will no longer appear if sequence recorder isn't available Change 4053130 by mason.seay Updated Game Mode Override Change 4053273 by James.McNatton Virtual Camera cleanup adjustments Change 4053627 by Max.Chen Sequencer: Disable bind sequencer to PIE/simulate while recording. Change 4053628 by Max.Chen Sequence Recorder: Fix target animation not persisting #jira UE-58508 Change 4053871 by Max.Chen Image Plate: Fix icon path Change 4054370 by Patrick.Boutot Remove LiveLink warning. Create base a class for FLiveLinkFrameRate as suggested in GenericPlatformCompilerPreSetup.h Change 4054447 by Darren.Pegg AJA low level device API Blackmagic low level API MediaIOCore changes to support AJA/Blackmagic changes AJA Module converted to use MediaIOCore Blackmagic Module changes for MediaIOCore Blackmagic/AJA Binary files Change 4054769 by Patrick.Boutot Packaging error issue introduce with CL 4054370. #jira UE-58749 Change 4055443 by Max.Chen Sequencer: Fix crash in adding filler shot #jira UE-58767 Change 4056577 by JeanMichel.Dignard Fixed crash with automation tests. We would bind the default UEditorEngine to Automation and on map load, it would call PIE on GEditor but with recent changes, PIE is called on this and the default UEditorEngine is not initialized so it would crash with a null GameViewportClass. Now we'll bind Automation on UEditorEngine InitializeObjectReferences so that we're in a good state and it's only called for GEditor. #jira UE-58792 Change 4057238 by Jamie.Dale Fixed crash when renaming Python generated classes or structs Change 4058435 by Jamie.Dale Fixed lingering exception state when converting a dict to a struct Change 4058486 by mason.seay Removed remote.host call from map [CL 4060164 by JeanMichel Dignard in Main branch]
2018-05-09 10:24:50 -04:00
FApp::SetIdleTime(ActualWaitTime);
FApp::SetCurrentTime(FApp::GetLastTime() + FApp::GetDeltaTime());
}
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
FFrameRate UFixedFrameRateCustomTimeStep::GetFixedFrameRate_PureVirtual() const
{
return FFrameRate(24, 1);
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
}