Files
UnrealEngineUWP/Engine/Source/Editor/MovieSceneTools/Private/PropertySection.cpp

67 lines
1.6 KiB
C++
Raw Normal View History

// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3116759) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2840895 on 2016/01/23 by Max.Chen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2937981 on 2016/04/08 by Max.Chen Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 3058930 on 2016/07/20 by Max.Chen Sequencer: Fix crash in undo/redo of creating a sub section. Change 3062696 on 2016/07/24 by Max.Chen Sequencer: Remove curve editor visibility as a toggleable config. It's now just a toggleable state that defaults to false. This fixes unexpected behavior of staying in the curve editor when restarting the editor or switching to a different level sequence asset. Change 3062763 on 2016/07/24 by Max.Chen Sequencer: Tweak track colors Audio track brighter Transform, bool, event tracks less saturated Recording subsection more saturated Fade track gradient Change 3064262 on 2016/07/26 by Max.Chen Sequencer: Add Convert to Possessable #jira UE-32139 Change 3070101 on 2016/07/29 by Max.Chen Sequence Recorder: Record actors as possessables Added GetWorld() check when resolving bindings in case the world is being torn down. Change 3070105 on 2016/07/29 by Max.Chen Sequence Recorder: Add cine camera component to default classes and properties to record. Change 3074750 on 2016/08/02 by Frank.Fella Sequencer - Simplify keyframing from a mixture of 5 boolean options to the 3 modes we actually use and move some of the logic directly into the keyframe track for consistency. Also make some keyframing structs fields constant because public fields lead lead to side effects and difficult debugging. This is part of a larger keyframing refactor to fix the inconsistent behavior of default values. I've separated it into 3 separate smaller targeted refactors to make reviews easier which is why I'm checking in with rb=none. Change 3075181 on 2016/08/03 by Andrew.Rodham Sequencer: Added ability to record audio as part of a recorded sequence Implementing the ability to get a global audio clock time per audio device. Use FAudioDevice::GetAudioClock() to get the current audio clock (in seconds). Change 3078922 on 2016/08/05 by Andrew.Rodham Sequencer: Spawnables now use deferred spawning #2613 #jira UE-33571 Change 3084262 on 2016/08/10 by Frank.Fella Sequencer - Change the 3d constraint tracks to clear the actors transform themselves instead of the transform track clearing it every frame. Change 3084851 on 2016/08/10 by Frank.Fella Sequencer - Make default value handling more consistent + Add an setting for whether or not to automatically set default values for tracks which is enabled for the level sequencer and disabled for UMG. + Add menu item for clearing default values for a track. + Fix property and transform track instances so that they provide the current value when evaluating the section so that empty sections with no defaults don't modify the runtime object. + Change the keyframe track editor so that default values are always set when a transform or property changes if auto set default values is turned on. + Change the key editors so that they always update default values whenever they are changed if auto set default values is turned on. Change 3089063 on 2016/08/15 by Max.Chen Sequence Recorder: Add countdown timer source image. Expand and clamp countdown to 9 seconds. #jira UE-30359 Change 3091925 on 2016/08/17 by Max.Chen Sequencer: Restructure level sequence actor with propert scene component and sprite component attached to it. This fixes an ensure when double clicking on the level sequence actor in editor which expects that there is a non editor only root component. #jira UE-34790, UE-34093 Change 3092201 on 2016/08/17 by Max.Chen Sequencer: Attach audio component to actor when creating a spatialized sound. Same thing happens in Matinee. #jira UE-34768 Change 3092267 on 2016/08/17 by Max.Chen Sequencer: Audio spatializiation components should be transient and not owned by the actor it's assigned to. #jira UE-34770 Change 3098930 on 2016/08/23 by Max.Chen Sequencer: Set skeletal meshes to always tick pose and refresh bones in the skeletal animation track instance pre update pass. #jira UE-8191 Change 3099461 on 2016/08/24 by Max.Chen Cine Camera: Add icons for cine camera actor, camera rig rail, camera rig crane. Change 3099527 on 2016/08/24 by Max.Chen Cine Camera: Force the roll and yaw of the camera crane mount to be 0. The yaw is controlled by the crane yaw control. #jira UE-34968 Change 3099739 on 2016/08/24 by Max.Chen Cine Camera: Add toggles to lock the mount pitch/yaw for the crane. By default they are not locked so the camera will stay level with the ground. #jira UE-34924 Change 3101574 on 2016/08/25 by Max.Chen Sequencer: Validate property path before creating a track. This fixes a bug where two tracks for the same property could be created since property changes could come from the actor or the component. #jira UE-29041 Change 3102253 on 2016/08/26 by Max.Chen Cine Camera: Unregister any owned spline mesh components that aren't being used for visualization. This fixes a bug where undo doesn't match the spline points. #jira UE-34607 Change 3103891 on 2016/08/27 by Max.Chen Movie Capture: Fix game mode override option so that it works in capture in editor. #jira UE-33248 Change 3104411 on 2016/08/29 by Max.Chen Sequencer: Refix attached audio component so that it's owned by the actor it's attached to but still transient. #jira UE-35239 Change 3105807 on 2016/08/30 by Max.Chen Sequencer: Restore state when stopping the level sequence player. #jira UE-35285 Change 3105988 on 2016/08/30 by Max.Chen Sequencer: Fix set key time so that it expands the section range if necessary. #jira UE-35275 Change 3107109 on 2016/08/30 by Max.Preussner MediaPlayerEditor: Added support for dragging and dropping media files into media player editor Change 3107347 on 2016/08/30 by Max.Chen Sequencer: Fix crash when key area is null. Also, improved middle mouse drag to create a key mechanism so that the operation is done in one undoable transaction. #jira UE-32410 Change 3107350 on 2016/08/30 by Max.Chen Sequencer: Add option to refresh runtime instances immediately. This fixes a bug when setting keyframes with the key editors - if the instances aren't updated immediately, the wrong/stale value will get keyed. #jira UE-35343 Change 3112245 on 2016/09/02 by Max.Preussner WmfMedia: Fixed WMV2 encoded videos are too bright (UE-35529) #jira UE-35529 Change 3112621 on 2016/09/02 by Max.Preussner Engine: Subtitle manager code & documentation cleanup pass Change 3112712 on 2016/09/02 by Max.Preussner Matinee: Fixed incorrect subtitle timing & rendering when scrubbing (Github PR# 2591 & 2762) https://github.com/EpicGames/UnrealEngine/pull/2591 https://github.com/EpicGames/UnrealEngine/pull/2762 #jira UE-35536 #jira UE-33002 Change 3113052 on 2016/09/03 by Max.Chen Cine Camera: Enable "Actor to Track" as a keyable property. #jira UE-33475 Change 3114912 on 2016/09/06 by Max.Preussner AvfMedia: Added missing supported file extensions (UE-35635) #jira UE-35635 Change 3114951 on 2016/09/06 by Max.Preussner AvfMedia: Added media source factory file extension descriptions (UE-35635) #jira UE-35635 Change 3115411 on 2016/09/07 by Max.Chen Sequencer: Fix properties not getting bound when converting from matinee to level sequence tracks. #jira UE-35107 Change 3115412 on 2016/09/07 by Max.Chen Editor: Add GEditor check - fix a crash when using sequence recorder with -game. #jira UE-35571 Change 3115413 on 2016/09/07 by Max.Chen Seqeuencer: Put the master sequence dialog's details views in a scrollbox to fix the hidden buttons. #jira UE-35508 Change 3116156 on 2016/09/07 by Max.Preussner MediaAssets: Fixed native player not being reused #jira UE-35656 Change 3116225 on 2016/09/07 by Max.Preussner MediaAssets: Hooking up caption sink in media player [CL 3117035 by Max Chen in Main branch]
2016-09-07 20:49:08 -04:00
#include "PropertySection.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "SequencerSectionPainter.h"
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3116759) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2840895 on 2016/01/23 by Max.Chen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2937981 on 2016/04/08 by Max.Chen Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 3058930 on 2016/07/20 by Max.Chen Sequencer: Fix crash in undo/redo of creating a sub section. Change 3062696 on 2016/07/24 by Max.Chen Sequencer: Remove curve editor visibility as a toggleable config. It's now just a toggleable state that defaults to false. This fixes unexpected behavior of staying in the curve editor when restarting the editor or switching to a different level sequence asset. Change 3062763 on 2016/07/24 by Max.Chen Sequencer: Tweak track colors Audio track brighter Transform, bool, event tracks less saturated Recording subsection more saturated Fade track gradient Change 3064262 on 2016/07/26 by Max.Chen Sequencer: Add Convert to Possessable #jira UE-32139 Change 3070101 on 2016/07/29 by Max.Chen Sequence Recorder: Record actors as possessables Added GetWorld() check when resolving bindings in case the world is being torn down. Change 3070105 on 2016/07/29 by Max.Chen Sequence Recorder: Add cine camera component to default classes and properties to record. Change 3074750 on 2016/08/02 by Frank.Fella Sequencer - Simplify keyframing from a mixture of 5 boolean options to the 3 modes we actually use and move some of the logic directly into the keyframe track for consistency. Also make some keyframing structs fields constant because public fields lead lead to side effects and difficult debugging. This is part of a larger keyframing refactor to fix the inconsistent behavior of default values. I've separated it into 3 separate smaller targeted refactors to make reviews easier which is why I'm checking in with rb=none. Change 3075181 on 2016/08/03 by Andrew.Rodham Sequencer: Added ability to record audio as part of a recorded sequence Implementing the ability to get a global audio clock time per audio device. Use FAudioDevice::GetAudioClock() to get the current audio clock (in seconds). Change 3078922 on 2016/08/05 by Andrew.Rodham Sequencer: Spawnables now use deferred spawning #2613 #jira UE-33571 Change 3084262 on 2016/08/10 by Frank.Fella Sequencer - Change the 3d constraint tracks to clear the actors transform themselves instead of the transform track clearing it every frame. Change 3084851 on 2016/08/10 by Frank.Fella Sequencer - Make default value handling more consistent + Add an setting for whether or not to automatically set default values for tracks which is enabled for the level sequencer and disabled for UMG. + Add menu item for clearing default values for a track. + Fix property and transform track instances so that they provide the current value when evaluating the section so that empty sections with no defaults don't modify the runtime object. + Change the keyframe track editor so that default values are always set when a transform or property changes if auto set default values is turned on. + Change the key editors so that they always update default values whenever they are changed if auto set default values is turned on. Change 3089063 on 2016/08/15 by Max.Chen Sequence Recorder: Add countdown timer source image. Expand and clamp countdown to 9 seconds. #jira UE-30359 Change 3091925 on 2016/08/17 by Max.Chen Sequencer: Restructure level sequence actor with propert scene component and sprite component attached to it. This fixes an ensure when double clicking on the level sequence actor in editor which expects that there is a non editor only root component. #jira UE-34790, UE-34093 Change 3092201 on 2016/08/17 by Max.Chen Sequencer: Attach audio component to actor when creating a spatialized sound. Same thing happens in Matinee. #jira UE-34768 Change 3092267 on 2016/08/17 by Max.Chen Sequencer: Audio spatializiation components should be transient and not owned by the actor it's assigned to. #jira UE-34770 Change 3098930 on 2016/08/23 by Max.Chen Sequencer: Set skeletal meshes to always tick pose and refresh bones in the skeletal animation track instance pre update pass. #jira UE-8191 Change 3099461 on 2016/08/24 by Max.Chen Cine Camera: Add icons for cine camera actor, camera rig rail, camera rig crane. Change 3099527 on 2016/08/24 by Max.Chen Cine Camera: Force the roll and yaw of the camera crane mount to be 0. The yaw is controlled by the crane yaw control. #jira UE-34968 Change 3099739 on 2016/08/24 by Max.Chen Cine Camera: Add toggles to lock the mount pitch/yaw for the crane. By default they are not locked so the camera will stay level with the ground. #jira UE-34924 Change 3101574 on 2016/08/25 by Max.Chen Sequencer: Validate property path before creating a track. This fixes a bug where two tracks for the same property could be created since property changes could come from the actor or the component. #jira UE-29041 Change 3102253 on 2016/08/26 by Max.Chen Cine Camera: Unregister any owned spline mesh components that aren't being used for visualization. This fixes a bug where undo doesn't match the spline points. #jira UE-34607 Change 3103891 on 2016/08/27 by Max.Chen Movie Capture: Fix game mode override option so that it works in capture in editor. #jira UE-33248 Change 3104411 on 2016/08/29 by Max.Chen Sequencer: Refix attached audio component so that it's owned by the actor it's attached to but still transient. #jira UE-35239 Change 3105807 on 2016/08/30 by Max.Chen Sequencer: Restore state when stopping the level sequence player. #jira UE-35285 Change 3105988 on 2016/08/30 by Max.Chen Sequencer: Fix set key time so that it expands the section range if necessary. #jira UE-35275 Change 3107109 on 2016/08/30 by Max.Preussner MediaPlayerEditor: Added support for dragging and dropping media files into media player editor Change 3107347 on 2016/08/30 by Max.Chen Sequencer: Fix crash when key area is null. Also, improved middle mouse drag to create a key mechanism so that the operation is done in one undoable transaction. #jira UE-32410 Change 3107350 on 2016/08/30 by Max.Chen Sequencer: Add option to refresh runtime instances immediately. This fixes a bug when setting keyframes with the key editors - if the instances aren't updated immediately, the wrong/stale value will get keyed. #jira UE-35343 Change 3112245 on 2016/09/02 by Max.Preussner WmfMedia: Fixed WMV2 encoded videos are too bright (UE-35529) #jira UE-35529 Change 3112621 on 2016/09/02 by Max.Preussner Engine: Subtitle manager code & documentation cleanup pass Change 3112712 on 2016/09/02 by Max.Preussner Matinee: Fixed incorrect subtitle timing & rendering when scrubbing (Github PR# 2591 & 2762) https://github.com/EpicGames/UnrealEngine/pull/2591 https://github.com/EpicGames/UnrealEngine/pull/2762 #jira UE-35536 #jira UE-33002 Change 3113052 on 2016/09/03 by Max.Chen Cine Camera: Enable "Actor to Track" as a keyable property. #jira UE-33475 Change 3114912 on 2016/09/06 by Max.Preussner AvfMedia: Added missing supported file extensions (UE-35635) #jira UE-35635 Change 3114951 on 2016/09/06 by Max.Preussner AvfMedia: Added media source factory file extension descriptions (UE-35635) #jira UE-35635 Change 3115411 on 2016/09/07 by Max.Chen Sequencer: Fix properties not getting bound when converting from matinee to level sequence tracks. #jira UE-35107 Change 3115412 on 2016/09/07 by Max.Chen Editor: Add GEditor check - fix a crash when using sequence recorder with -game. #jira UE-35571 Change 3115413 on 2016/09/07 by Max.Chen Seqeuencer: Put the master sequence dialog's details views in a scrollbox to fix the hidden buttons. #jira UE-35508 Change 3116156 on 2016/09/07 by Max.Preussner MediaAssets: Fixed native player not being reused #jira UE-35656 Change 3116225 on 2016/09/07 by Max.Preussner MediaAssets: Hooking up caption sink in media player [CL 3117035 by Max Chen in Main branch]
2016-09-07 20:49:08 -04:00
FPropertySection::FPropertySection(UMovieSceneSection& InSectionObject, const FText& InDisplayName)
: DisplayName(InDisplayName)
, SectionObject(InSectionObject)
, Sequencer(nullptr)
{ }
FPropertySection::FPropertySection(ISequencer* InSequencer, FGuid InObjectBinding, FName InPropertyName,
const FString& InPropertyPath, UMovieSceneSection& InSectionObject, const FText& InDisplayName)
: DisplayName(InDisplayName)
, SectionObject(InSectionObject)
, Sequencer(InSequencer)
, ObjectBinding(InObjectBinding)
, PropertyBindings(MakeShareable(new FTrackInstancePropertyBindings(InPropertyName, InPropertyPath)))
{
}
UMovieSceneSection* FPropertySection::GetSectionObject()
{
return &SectionObject;
}
FText FPropertySection::GetDisplayName() const
{
return DisplayName;
}
FText FPropertySection::GetSectionTitle() const
{
return FText::GetEmpty();
}
int32 FPropertySection::OnPaintSection( FSequencerSectionPainter& Painter ) const
{
return Painter.PaintSectionBackground();
}
UProperty* FPropertySection::GetProperty() const
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
if (!PropertyBindings.IsValid())
{
return nullptr;
}
for (const TWeakObjectPtr<UObject>& WeakObject : Sequencer->FindBoundObjects(ObjectBinding, Sequencer->GetFocusedTemplateID()))
{
if (UObject* Object = WeakObject.Get())
{
return PropertyBindings->GetProperty(*Object);
}
}
return nullptr;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3116759) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2840895 on 2016/01/23 by Max.Chen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2937981 on 2016/04/08 by Max.Chen Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 3058930 on 2016/07/20 by Max.Chen Sequencer: Fix crash in undo/redo of creating a sub section. Change 3062696 on 2016/07/24 by Max.Chen Sequencer: Remove curve editor visibility as a toggleable config. It's now just a toggleable state that defaults to false. This fixes unexpected behavior of staying in the curve editor when restarting the editor or switching to a different level sequence asset. Change 3062763 on 2016/07/24 by Max.Chen Sequencer: Tweak track colors Audio track brighter Transform, bool, event tracks less saturated Recording subsection more saturated Fade track gradient Change 3064262 on 2016/07/26 by Max.Chen Sequencer: Add Convert to Possessable #jira UE-32139 Change 3070101 on 2016/07/29 by Max.Chen Sequence Recorder: Record actors as possessables Added GetWorld() check when resolving bindings in case the world is being torn down. Change 3070105 on 2016/07/29 by Max.Chen Sequence Recorder: Add cine camera component to default classes and properties to record. Change 3074750 on 2016/08/02 by Frank.Fella Sequencer - Simplify keyframing from a mixture of 5 boolean options to the 3 modes we actually use and move some of the logic directly into the keyframe track for consistency. Also make some keyframing structs fields constant because public fields lead lead to side effects and difficult debugging. This is part of a larger keyframing refactor to fix the inconsistent behavior of default values. I've separated it into 3 separate smaller targeted refactors to make reviews easier which is why I'm checking in with rb=none. Change 3075181 on 2016/08/03 by Andrew.Rodham Sequencer: Added ability to record audio as part of a recorded sequence Implementing the ability to get a global audio clock time per audio device. Use FAudioDevice::GetAudioClock() to get the current audio clock (in seconds). Change 3078922 on 2016/08/05 by Andrew.Rodham Sequencer: Spawnables now use deferred spawning #2613 #jira UE-33571 Change 3084262 on 2016/08/10 by Frank.Fella Sequencer - Change the 3d constraint tracks to clear the actors transform themselves instead of the transform track clearing it every frame. Change 3084851 on 2016/08/10 by Frank.Fella Sequencer - Make default value handling more consistent + Add an setting for whether or not to automatically set default values for tracks which is enabled for the level sequencer and disabled for UMG. + Add menu item for clearing default values for a track. + Fix property and transform track instances so that they provide the current value when evaluating the section so that empty sections with no defaults don't modify the runtime object. + Change the keyframe track editor so that default values are always set when a transform or property changes if auto set default values is turned on. + Change the key editors so that they always update default values whenever they are changed if auto set default values is turned on. Change 3089063 on 2016/08/15 by Max.Chen Sequence Recorder: Add countdown timer source image. Expand and clamp countdown to 9 seconds. #jira UE-30359 Change 3091925 on 2016/08/17 by Max.Chen Sequencer: Restructure level sequence actor with propert scene component and sprite component attached to it. This fixes an ensure when double clicking on the level sequence actor in editor which expects that there is a non editor only root component. #jira UE-34790, UE-34093 Change 3092201 on 2016/08/17 by Max.Chen Sequencer: Attach audio component to actor when creating a spatialized sound. Same thing happens in Matinee. #jira UE-34768 Change 3092267 on 2016/08/17 by Max.Chen Sequencer: Audio spatializiation components should be transient and not owned by the actor it's assigned to. #jira UE-34770 Change 3098930 on 2016/08/23 by Max.Chen Sequencer: Set skeletal meshes to always tick pose and refresh bones in the skeletal animation track instance pre update pass. #jira UE-8191 Change 3099461 on 2016/08/24 by Max.Chen Cine Camera: Add icons for cine camera actor, camera rig rail, camera rig crane. Change 3099527 on 2016/08/24 by Max.Chen Cine Camera: Force the roll and yaw of the camera crane mount to be 0. The yaw is controlled by the crane yaw control. #jira UE-34968 Change 3099739 on 2016/08/24 by Max.Chen Cine Camera: Add toggles to lock the mount pitch/yaw for the crane. By default they are not locked so the camera will stay level with the ground. #jira UE-34924 Change 3101574 on 2016/08/25 by Max.Chen Sequencer: Validate property path before creating a track. This fixes a bug where two tracks for the same property could be created since property changes could come from the actor or the component. #jira UE-29041 Change 3102253 on 2016/08/26 by Max.Chen Cine Camera: Unregister any owned spline mesh components that aren't being used for visualization. This fixes a bug where undo doesn't match the spline points. #jira UE-34607 Change 3103891 on 2016/08/27 by Max.Chen Movie Capture: Fix game mode override option so that it works in capture in editor. #jira UE-33248 Change 3104411 on 2016/08/29 by Max.Chen Sequencer: Refix attached audio component so that it's owned by the actor it's attached to but still transient. #jira UE-35239 Change 3105807 on 2016/08/30 by Max.Chen Sequencer: Restore state when stopping the level sequence player. #jira UE-35285 Change 3105988 on 2016/08/30 by Max.Chen Sequencer: Fix set key time so that it expands the section range if necessary. #jira UE-35275 Change 3107109 on 2016/08/30 by Max.Preussner MediaPlayerEditor: Added support for dragging and dropping media files into media player editor Change 3107347 on 2016/08/30 by Max.Chen Sequencer: Fix crash when key area is null. Also, improved middle mouse drag to create a key mechanism so that the operation is done in one undoable transaction. #jira UE-32410 Change 3107350 on 2016/08/30 by Max.Chen Sequencer: Add option to refresh runtime instances immediately. This fixes a bug when setting keyframes with the key editors - if the instances aren't updated immediately, the wrong/stale value will get keyed. #jira UE-35343 Change 3112245 on 2016/09/02 by Max.Preussner WmfMedia: Fixed WMV2 encoded videos are too bright (UE-35529) #jira UE-35529 Change 3112621 on 2016/09/02 by Max.Preussner Engine: Subtitle manager code & documentation cleanup pass Change 3112712 on 2016/09/02 by Max.Preussner Matinee: Fixed incorrect subtitle timing & rendering when scrubbing (Github PR# 2591 & 2762) https://github.com/EpicGames/UnrealEngine/pull/2591 https://github.com/EpicGames/UnrealEngine/pull/2762 #jira UE-35536 #jira UE-33002 Change 3113052 on 2016/09/03 by Max.Chen Cine Camera: Enable "Actor to Track" as a keyable property. #jira UE-33475 Change 3114912 on 2016/09/06 by Max.Preussner AvfMedia: Added missing supported file extensions (UE-35635) #jira UE-35635 Change 3114951 on 2016/09/06 by Max.Preussner AvfMedia: Added media source factory file extension descriptions (UE-35635) #jira UE-35635 Change 3115411 on 2016/09/07 by Max.Chen Sequencer: Fix properties not getting bound when converting from matinee to level sequence tracks. #jira UE-35107 Change 3115412 on 2016/09/07 by Max.Chen Editor: Add GEditor check - fix a crash when using sequence recorder with -game. #jira UE-35571 Change 3115413 on 2016/09/07 by Max.Chen Seqeuencer: Put the master sequence dialog's details views in a scrollbox to fix the hidden buttons. #jira UE-35508 Change 3116156 on 2016/09/07 by Max.Preussner MediaAssets: Fixed native player not being reused #jira UE-35656 Change 3116225 on 2016/09/07 by Max.Preussner MediaAssets: Hooking up caption sink in media player [CL 3117035 by Max Chen in Main branch]
2016-09-07 20:49:08 -04:00
}
bool FPropertySection::CanGetPropertyValue() const
{
return Sequencer != nullptr && PropertyBindings.IsValid();
}