Commit Graph

92 Commits

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

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

[CL 20364493 by Max Chen in ue5-main branch]
2022-05-25 10:39:33 -04:00
max chen
bf7eb82263 Sequencer/Valkyrie: Track class permissions for what tracks can be added to movie scene.
Event Track and ConsoleVariable Track are disabled. Spawn Track is also disabled, which means you can't create spawnables in Valkyrie

Added FIsTrackClassAllowed to MovieScene which is bound in MovieSceneToolsModule to look at the class viewer rules.
Fix logic in MediaTrackEditor and LiveLinkPropertyTrackEditor which was always returning Supported for level sequences.

#preflight 6270563191629533ec2b6f79
#rb andrew.rodham

#ROBOMERGE-OWNER: max.chen
#ROBOMERGE-AUTHOR: max.chen
#ROBOMERGE-SOURCE: CL 20031346 via CL 20033139 via CL 20033318 via CL 20033325
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20035188 by max chen in ue5-main branch]
2022-05-03 19:50:52 -04:00
Max Chen
a5df231266 Sequencer: When moving contents from one binding to another, if a possessable already exists, don't move it, just remove it.
Spawnable Cine Camera Actor
    Possessable Cine Camera Component <---
        Tracks

moving to:

Spawnable Camera Actor
    Possessable Camera Component
        Tracks

Existing code swaps the parent of the original cine camera actor's possesable cine camera component to the new spawnable camera actor. However, if spawnable camera actor already has a possessable camera component, it shouldn't do this because there would be duplicate component bindings. Instead, just remove it. This happens when changing the binding for a template sequence.

#jira UE-145266
#rb andrew.rodham
#preflight 626213efa2579b4c77305307

[CL 19871735 by Max Chen in ue5-main branch]
2022-04-22 16:13:32 -04:00
matt johnson
fb67290b5c MovieScene: deprecate UMovieSceneSequenceExtensions::GetTimecodeSource() in favor of GetEarliestTimecodeSource() on UMovieScene and UMovieSceneSequence
UMovieScene is a container that may represent multiple pieces of media as
sections, each of which may have their own distinct timecode source. As a result,
the timecode source associated with the UMovieScene itself doesn't correspond to
any particular piece of media, but rather was just intended as the timecode at which
the movie scene was recorded.

This is the first in a series of changes that aim to remove the TimecodeSource property
of UMovieScene to try to disambiguate it from the similarly named property on
UMovieSceneSections that *does* correspond to the section's media. A subsequent change
will remove the property from UMovieScene, possibly replacing it with one that more
explicitly represents the time at which the movie scene was recorded.

UMovieSceneSequenceExtensions::GetTimecodeSource() previously would return the
TimecodeSource of its UMovieScene. With that property going away, the more interesting
query is likely to look through the media contained by the movie scene and return the
earliest timecode source of any of the scene's sections. A GetEarliestTimecodeSource()
function was added to UMovieScene that does this and the UMovieSceneSequenceExtensions
function was deprecated. A GetEarliestTimecodeSource() function was added to
UMovieSceneSequence as well that simply calls through to its movie scene.

These changes also ensure that the Timecode property of FMovieSceneTimecodeSource
is accessible from Python.

#rb max.chen, jason.walter
#preflight 61b938864331fd305c8e9345

#ROBOMERGE-AUTHOR: matt.johnson
#ROBOMERGE-SOURCE: CL 18464038 in //UE5/Release-5.0/... via CL 18464040
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18464041 by matt johnson in ue5-release-engine-test branch]
2021-12-14 20:09:45 -05:00
max chen
8ae43b3b88 Sequencer: FindTrack should return derived classes
#rb matt.hoffman

#ROBOMERGE-AUTHOR: max.chen
#ROBOMERGE-SOURCE: CL 18386633 in //UE5/Release-5.0/... via CL 18386653
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v896-18170469)

[CL 18386664 by max chen in ue5-release-engine-test branch]
2021-12-06 14:59:40 -05:00
aurel cordonnier
a12d56ff31 Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485

[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -04:00
aurel cordonnier
7f517562d5 Merge from Release-Engine-Staging @ 17438845 to Release-Engine-Test
This represents UE4/Main @17430120 and Dev-PerfTest @17437669

[CL 17439044 by aurel cordonnier in ue5-release-engine-test branch]
2021-09-06 12:23:53 -04:00
max chen
b169a6a02a Sequencer: Remove muted spawnables on cook
Follow up to 17070294 which removes muted tracks on cook

#jira UE-123738
#preflight 6126ae50eef7f30001bf65b3

#ROBOMERGE-SOURCE: CL 17313604 via CL 17315597
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v861-17282326)

[CL 17315922 by max chen in ue5-release-engine-test branch]
2021-08-26 07:39:39 -04:00
max chen
636487b585 Sequencer: Add option to remove tracks on cook. This is enabled by a cvar: MovieScene.RemoveMutedTracksOnCook
Take care when using this in the case that a blueprint is enabling a muted track. You do not want this to remove a muted track.

#jira UE-120524
#preflight 610a16005b2fb80001b91aaa
#rb mike.zyracki
[FYI] brandon.dawson

#ROBOMERGE-SOURCE: CL 17070199 via CL 17070294
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v853-17066230)

[CL 17070323 by max chen in ue5-release-engine-test branch]
2021-08-05 12:39:03 -04:00
aurel cordonnier
50944fd712 Merge UE5/RES @ 16162155 to UE5/Main
This represents UE4/Main @ 16130047 and Dev-PerfTest @ 16126156

[CL 16163576 by aurel cordonnier in ue5-main branch]
2021-04-29 19:32:06 -04:00
Mike Zyracki
a80a9b0d46 Sequencer: Control Rig: Python Exposure
#rb max.chen
#jira UE-105334

[CL 15931688 by Mike Zyracki in ue5-main branch]
2021-04-06 12:25:45 -04:00
Matt Peters
fd97028c28 Change presave prototype to take an FObjectSaveContextRef to provide more information about the save parameters.
#rb Francis.Hurteau, Devin.Doucette
#rn Minor Cooking

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

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

[CL 14915667 by Andrew Rodham in ue5-main branch]
2020-12-14 14:36:17 -04:00
Marc Audy
50a3d7d368 Merge Release-Engine-Staging to Main @ CL# 14467590
This represents UE4/Main @ 14432125 + some cherrypick fixes

[CL 14468207 by Marc Audy in ue5-main branch]
2020-10-09 22:42:26 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
Marc Audy
7379fa99c5 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14229157
[CL 14233282 by Marc Audy in ue5-main branch]
2020-09-01 14:07:48 -04:00
Marc Audy
a7c9001a94 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14075166
#rb
#rnx

[CL 14075271 by Marc Audy in ue5-main branch]
2020-08-11 01:36:57 -04:00
max chen
1f28347b31 Sequencer: When renaming or moving a node, update the nodepath to fix identifying by nodepath
#jira UE-89740
#rb max.chen

#ROBOMERGE-SOURCE: CL 12469918 via CL 12470093 via CL 12470109
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v672-12450963)

[CL 12470140 by max chen in Main branch]
2020-03-27 11:54:57 -04:00
max chen
41d284a263 Sequencer: Implemented NodeGroups
#rb max.chen

#ROBOMERGE-SOURCE: CL 12465515 via CL 12467430 via CL 12467606
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v672-12450963)

[CL 12467695 by max chen in Main branch]
2020-03-27 10:58:38 -04:00
max chen
e8d7bdd4b0 Sequencer: Remove cook optimization from movie scene
#rb andrew.rodham


#ROBOMERGE-SOURCE: CL 11609660 via CL 11609685 via CL 11609694
#ROBOMERGE-BOT: (v656-11643781)

[CL 11758705 by max chen in Main branch]
2020-02-28 13:34:54 -05:00
matt hoffman
dd40b23418 MoviePipeline: Fixed camera cut tracks not being respected and range intersection failing which caused shots outside of the playback bounds to be processed despite not needing to be.
#rb None
#jira UE-88695

#ROBOMERGE-SOURCE: CL 11643512 in //UE4/Release-4.25/... via CL 11643521
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v655-11596533)

[CL 11643539 by matt hoffman in Main branch]
2020-02-26 16:43:21 -05:00
max chen
4694f8dbca Sequencer: Fix crash copying an audio track. Reconstruct the channel proxies when the audio track has been renamed since it's being pasted from a transient outer to the movie scene.
In AddGivenMasterTrack, add the track to the movie scene's master tracks before renaming.

#jira UE-88634
#rb none


#ROBOMERGE-SOURCE: CL 11389009 via CL 11389658
#ROBOMERGE-BOT: (v654-11333218)

[CL 11394916 by max chen in Main branch]
2020-02-12 14:59:39 -05:00
max chen
225208f187 Sequencer: Fix removing marked frames so that it's based on the hit index, rather than finding it by the FFrameNumber. renamed "Clear Marked Frame" to "Delete Marked Frame"
#jira UE-86542
#rb none


#ROBOMERGE-SOURCE: CL 10948186 via CL 10948273
#ROBOMERGE-BOT: (v632-10940481)

[CL 10948290 by max chen in Main branch]
2020-01-11 00:08:42 -05:00
andrew rodham
df63af5ef2 Sequencer: Added the ability to specify an external clock source interface to sequencer
This allows us to drive sequencer time from arbitrary external sources such as media players or other clocks.
Added a new media component which owns a media player and texture, such that media players can work nicely with multiplayer PIE
Added a new media track that can play back media sources on any UMediaPlayer* property - primitive for the time being (only looping is supported, no start time offset etc). This track is currently written to support real-time playback rather than offline, frame-accurate playback

#rb Max.Chen, Matt.Hoffman


#ROBOMERGE-SOURCE: CL 10940608 via CL 10940611
#ROBOMERGE-BOT: (v632-10940481)

[CL 10940614 by andrew rodham in Main branch]
2020-01-10 08:15:50 -05:00
ryan durand
0f0464a30e Updating copyright for Engine Runtime.
#rnx
#rb none


#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869210 via CL 10869511 via CL 10869900
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870549 by ryan durand in Main branch]
2019-12-26 14:45:42 -05:00