Navigation
API > API/Plugins > API/Plugins/AvalancheMedia
This class is a container for what could be described as a "show" for broadcast purposes.
It goes beyond a simple list of items. It contains the following:
- a list of Motion Design Template Pages (or just Templates).
- a list of Motion Design Instanced Pages (or just Pages).
- a list of page views (or just Views).
Workflow:
1- Templates
The first step in the work flow consist in importing templates. The source asset is not actually imported in the "show" container, it is just soft referenced. However, the import process will load and cache some information about the template (exposed properties, default values, animations, transition logic layer, etc). Given that this information is cached, it may become stale if the source asset is updated. Therefore, reimporting the templates may be necessary within the normal work flow. Todo: keep a hash of the source asset to determine if it has changed.
2- Pages
The pages are instances of the templates, allowing to change the exposed properties and controllers, also selecting an output program channel for the given page. Only one program channel is allowed per page.
3- Page Views
Separate page views can be made in order to create "rundowns" for separate segments/parts of a show.
"Page Groups" Discussion: "Page Groups" are not implemented. It would be different than page views, i.e. pages could be grouped in either of the page list or page views. Other applications support page grouping to emulate MOS's hierarchy. In the MOS/NCS hierarchies: Rundown -> Stories/Segments -> Parts -> Pieces/Items Although full emulation of MOS schema may not be necessary within the Motion Design playback framework.
| Name | UAvaRundown |
| Type | class |
| Header File | /Engine/Plugins/VirtualProduction/Avalanche/Source/AvalancheMedia/Public/Rundown/AvaRundown.h |
| Include Path | #include "Rundown/AvaRundown.h" |
Syntax
UCLASS (NotBlueprintable, BlueprintType, ClassGroup="Motion Design Rundown",
Meta=(DisplayName="Motion Design Rundown"))
class UAvaRundown : public UObject
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UAvaRundown
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UAvaRundown() |
Rundown/AvaRundown.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~UAvaRundown() |
Rundown/AvaRundown.h |
Classes
| Name | Remarks |
|---|---|
| FPreUndoBackup |
Structs
| Name | Remarks |
|---|---|
| FLoadedInstanceInfo |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FOnActiveListChanged | TMulticastDelegate_NoParams< void > | Rundown/AvaRundown.h | |
| FOnCanClosePlaybackContext | TMulticastDelegate_TwoParams< void, const UAvaRundown *, bool & > | Delegate called to determine if the playback context can be closed. | Rundown/AvaRundown.h |
| FOnPagePlayerEvent | TMulticastDelegate_TwoParams< void, UAvaRundown *, UAvaRundownPagePlayer * > | Rundown/AvaRundown.h | |
| FOnPageTransitionEvent | TMulticastDelegate_TwoParams< void, UAvaRundown *, UAvaRundownPageTransition * > | Rundown/AvaRundown.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| InstancePageList | const FAvaRundownPageListReference | Rundown/AvaRundown.h | |
| InvalidSubList | const FAvaRundownSubList | Rundown/AvaRundown.h | |
| InvalidSubListMutable | FAvaRundownSubList | Rundown/AvaRundown.h | |
| TemplatePageList | const FAvaRundownPageListReference | Rundown/AvaRundown.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| OnPagePlayerAdded | FOnPagePlayerEvent | Rundown Player Event - Called when a new page player is added to the playback context. | Rundown/AvaRundown.h | |
| OnPagePlayerRemoving | FOnPagePlayerEvent | Rundown Player Event - Called when a stopped page player is about to be removed from the playback context. | Rundown/AvaRundown.h | |
| OnPageTransitionAdded | FOnPageTransitionEvent | Rundown Transition Event - Called when a new page transition is added to the playback context. | Rundown/AvaRundown.h | |
| OnPageTransitionRemoving | FOnPageTransitionEvent | Rundown Transition Event - Called when a completed page transition is about to be removed from the playback context. | Rundown/AvaRundown.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
int32 AddComboTemplate
(
const TArray< int32 >& InTemplateIds, |
Creates a combination template which combines other templates. | Rundown/AvaRundown.h | |
int32 AddPageFromTemplate
(
int32 InTemplateId, |
Creates a new page in the page list using the given template. | Rundown/AvaRundown.h | |
| Create new pages in the page list for teh given template Ids. | Rundown/AvaRundown.h | ||
bool AddPagesToSubList
(
const FAvaRundownPageListReference& InPageListReference, |
Rundown/AvaRundown.h | ||
bool AddPageToSubList
(
const FAvaRundownPageListReference& InPageListReference, |
Rundown/AvaRundown.h | ||
void AddPageTransition
(
UAvaRundownPageTransition* InPageTransition |
Rundown/AvaRundown.h | ||
FAvaRundownPageListReference AddSubList() |
Rundown/AvaRundown.h | ||
int32 AddTemplate
(
const FAvaRundownPageIdGeneratorParams& InIdGeneratorParams |
Add empty template. | Rundown/AvaRundown.h | |
int32 AddTemplateInternal
(
const FAvaRundownPageIdGeneratorParams& InIdGeneratorParams, |
Rundown/AvaRundown.h | ||
TArray< int32 > AddTemplates
(
const TArray< FAvaRundownPage >& InSourceTemplates |
Add templates from existing source. | Rundown/AvaRundown.h | |
bool CanAddPage() |
Rundown/AvaRundown.h | ||
bool CanChangePageOrder() |
Rundown/AvaRundown.h | ||
bool CanClosePlaybackContext() |
Determines if the playback context can be closed. | Rundown/AvaRundown.h | |
bool CanContinuePage
(
int32 InPageId, |
Rundown/AvaRundown.h | ||
bool CanContinuePage
(
int32 InPageId, |
Rundown/AvaRundown.h | ||
bool CanPlayPage
(
int32 InPageId, |
Rundown/AvaRundown.h | ||
bool CanPlayPage
(
int32 InPageId, |
Rundown/AvaRundown.h | ||
bool CanRemovePage
(
int32 InPageId |
Rundown/AvaRundown.h | ||
bool CanRemovePages
(
const TArray< int32 >& InPageIds |
Rundown/AvaRundown.h | ||
bool CanRenumberPageId
(
int32 InPageId, |
Rundown/AvaRundown.h | ||
bool CanRenumberPageId
(
int32 InPageId |
Rundown/AvaRundown.h | ||
bool CanStartTransitionForPage
(
const FAvaRundownPage& InPage, |
Rundown/AvaRundown.h | ||
bool CanStopChannel
(
const FString& InChannelName |
Rundown/AvaRundown.h | ||
bool CanStopLayer
(
FName InChannelName, |
Determines if a given layer has something playing that can be stopped. | Rundown/AvaRundown.h | |
bool CanStopPage
(
int32 InPageId, |
Rundown/AvaRundown.h | ||
bool CanStopPage
(
int32 InPageId, |
Rundown/AvaRundown.h | ||
bool ChangePageOrder
(
const FAvaRundownPageListReference& InPageListReference, |
Reorders the pages, swapping the old indices for the new ones. | Rundown/AvaRundown.h | |
void ClosePlaybackContext
(
bool bInStopAllPages |
Similarly, when the editor is done, it can close the playback context. | Rundown/AvaRundown.h | |
bool ContinuePage
(
int32 InPageId, |
Rundown/AvaRundown.h | ||
bool ContinuePage
(
int32 InPageId, |
Rundown/AvaRundown.h | ||
bool Empty() |
Clear the rundown of all it's content. Will be prevented if the rundown is playing. | Rundown/AvaRundown.h | |
UAvaRundownPagePlayer * FindPagePlayer
(
int32 InPageId, |
Finds the page player for the given pageId and channel name. | Rundown/AvaRundown.h | |
UAvaRundownPagePlayer * FindPlayerForPage
(
int32 InPageId, |
Rundown/AvaRundown.h | ||
UAvaRundownPagePlayer * FindPlayerForPreviewPage
(
int32 InPageId, |
Rundown/AvaRundown.h | ||
UAvaRundownPagePlayer * FindPlayerForProgramPage
(
int32 InPageId |
Rundown/AvaRundown.h | ||
const FAvaRundownPageListReference & GetActivePageListReference() |
Rundown/AvaRundown.h | ||
| Rundown/AvaRundown.h | |||
const FAvaRundownSubList & GetActiveSubList () |
Rundown/AvaRundown.h | ||
const FAvaRundownPageCollection & GetInstancedPages() |
Rundown/AvaRundown.h | ||
FAvaRundownPage & GetNextPage
(
int32 InPageId, |
Gets the page following the page with the given page id in the given page list. | Rundown/AvaRundown.h | |
const FAvaRundownPage & GetNextPage
(
int32 InPageId, |
Gets the page following the page with the given page id in the given page list. | Rundown/AvaRundown.h | |
FAvaRundownPage & GetNextPage
(
int32 InPageId |
Gets the page following the page with the given page id. Using current active page list. | Rundown/AvaRundown.h | |
const FAvaRundownPage & GetNextPage
(
int32 InPageId |
Gets the page following the page with the given page id. Using current active page list. | Rundown/AvaRundown.h | |
FOnActiveListChanged & GetOnActiveListChanged() |
Rundown/AvaRundown.h | ||
FOnCanClosePlaybackContext::RegistrationType & GetOnCanClosePlaybackContext() |
Rundown/AvaRundown.h | ||
FOnAvaRundownPageListChanged & GetOnPageListChanged() |
Rundown/AvaRundown.h | ||
FOnPagePlayerEvent & GetOnPagePlayerAdded() |
Rundown/AvaRundown.h | ||
FOnPagePlayerEvent & GetOnPagePlayerRemoving() |
Rundown/AvaRundown.h | ||
FOnAvaRundownPagesChanged & GetOnPagesChanged() |
Rundown/AvaRundown.h | ||
FOnPageTransitionEvent & GetOnPageTransitionAdded() |
Rundown/AvaRundown.h | ||
FOnPageTransitionEvent & GetOnPageTransitionRemoving() |
Rundown/AvaRundown.h | ||
FAvaRundownPageListPlaybackContextCollection & GetOrCreatePageListPlaybackContextCollection() |
Rundown/AvaRundown.h | ||
const FAvaRundownPage & GetPage
(
int32 InPageId |
Rundown/AvaRundown.h | ||
FAvaRundownPage & GetPage
(
int32 InPageId |
Rundown/AvaRundown.h | ||
FAvaRundownPageListPlaybackContextCollection * GetPageListPlaybackContextCollection() |
Rundown/AvaRundown.h | ||
IAvaRundownPageLoadingManager & GetPageLoadingManager() |
Access the page loading manager for this rundown. | Rundown/AvaRundown.h | |
const TArray< TObjectPtr< UAvaRundownPagePlayer > > & GetPagePlayers() |
Rundown/AvaRundown.h | ||
UAvaRundownPageTransition * GetPageTransition
(
const FGuid& InTransitionId |
Rundown/AvaRundown.h | ||
FAvaPlaybackManager & GetPlaybackManager() |
Rundown/AvaRundown.h | ||
TArray< int32 > GetPlayingPageIds
(
const FName InProgramChannelName |
Return the current playing Page Ids on the specified program channel. | Rundown/AvaRundown.h | |
TArray< int32 > GetPreviewingPageIds
(
const FName InPreviewChannelName |
Return the current previewing Page Ids on the specified preview channel. | Rundown/AvaRundown.h | |
UTextureRenderTarget2D * GetPreviewRenderTarget
(
const FName& InPreviewChannel |
Rundown/AvaRundown.h | ||
| Rundown/AvaRundown.h | |||
FAvaRundownSubList & GetSubList
(
const FAvaRundownPageListReference& InPageListReference |
Rundown/AvaRundown.h | ||
const FAvaRundownSubList & GetSubList
(
const FAvaRundownPageListReference& InPageListReference |
Rundown/AvaRundown.h | ||
FAvaRundownSubList & GetSubList
(
const FGuid& InSubListId |
Rundown/AvaRundown.h | ||
const FAvaRundownSubList & GetSubList
(
const FGuid& InSubListId |
Rundown/AvaRundown.h | ||
FAvaRundownSubList & GetSubList
(
int32 InSubListIndex |
Rundown/AvaRundown.h | ||
const FAvaRundownSubList & GetSubList
(
int32 InSubListIndex |
Rundown/AvaRundown.h | ||
int32 GetSubListIndex
(
const FAvaRundownSubList& InSubList |
Rundown/AvaRundown.h | ||
const TArray< FAvaRundownSubList > & GetSubLists() |
Rundown/AvaRundown.h | ||
const FAvaRundownPageCollection & GetTemplatePages() |
Rundown/AvaRundown.h | ||
bool HasActiveSubList() |
Returns true only if a sub list, not the main list, is active. | Rundown/AvaRundown.h | |
void InitializePlaybackContext () |
Since the playback context is part of the asset for now, there is an explicit call to initialize it. | Rundown/AvaRundown.h | |
void InvalidateManagedInstanceCacheForPages
(
const TArray< int32 >& InPageIds |
Rundown/AvaRundown.h | ||
bool IsEmpty() |
Returns true if the rundown is empty, i.e. no pages and no templates. | Rundown/AvaRundown.h | |
bool IsPagePlaying
(
const FAvaRundownPage& InPage |
Rundown/AvaRundown.h | ||
bool IsPagePlaying
(
int32 InPageId |
Returns true if the page is playing in it's assigned program channel. | Rundown/AvaRundown.h | |
bool IsPagePlayingOrPreviewing
(
int32 InPageId |
Rundown/AvaRundown.h | ||
bool IsPagePreviewing
(
int32 InPageId |
Returns true if the page with the given page Id is being previewed (in any preview channel). | Rundown/AvaRundown.h | |
bool IsPlaying() |
Returns true if the any page is either playing or previewing. | Rundown/AvaRundown.h | |
bool IsValidSubList
(
const FAvaRundownPageListReference& InPageListReference |
Rundown/AvaRundown.h | ||
TArray< FLoadedInstanceInfo > LoadPage
(
int32 InPageId, |
Preload the given page so it has an asset ready for playback. | Rundown/AvaRundown.h | |
void NotifyPageRemoteControlValueChanged
(
int32 InPageId, |
Rundown/AvaRundown.h | ||
void NotifyPageSequenceFinished
(
int32 InPageId |
Rundown/AvaRundown.h | ||
void NotifyPageStopped
(
int32 InPageId |
Rundown/AvaRundown.h | ||
void NotifyPIEEnded
(
const bool |
Rundown/AvaRundown.h | ||
void OnParentWordBeginTearDown() |
Clean up playing status on a system tear down. | Rundown/AvaRundown.h | |
bool PlayPage
(
int32 InPageId, |
Rundown/AvaRundown.h | ||
bool PlayPage
(
int32 InPageId, |
Rundown/AvaRundown.h | ||
TArray< int32 > PlayPages
(
const TArray< int32 >& InPageIds, |
Start the playback of the asset defined in the given pages. | Rundown/AvaRundown.h | |
TArray< int32 > PlayPages
(
const TArray< int32 >& InPageIds, |
Start the playback of the asset defined in the given pages. | Rundown/AvaRundown.h | |
bool PushRuntimeRemoteControlValues
(
int32 InPageId, |
Push the page's RC values to the runtime playback instances. | Rundown/AvaRundown.h | |
bool RemovePage
(
int32 InPageId |
Rundown/AvaRundown.h | ||
int32 RemovePages
(
const TArray< int32 >& InPageIds |
Remove all the Pages in the Array. Returns the number of Pages removed. | Rundown/AvaRundown.h | |
int32 RemovePagesFromSubList
(
const FAvaRundownPageListReference& InPageListReference, |
Rundown/AvaRundown.h | ||
void RemovePageTransition
(
UAvaRundownPageTransition* InPageTransition |
Rundown/AvaRundown.h | ||
void RemoveStoppedPagePlayers() |
Rundown/AvaRundown.h | ||
bool RemoveSubList
(
const FAvaRundownPageListReference& InPageListReference |
Rundown/AvaRundown.h | ||
bool RenameSubList
(
const FAvaRundownPageListReference& InPageListReference, |
Rundown/AvaRundown.h | ||
bool RenumberPageId
(
int32 InPageId, |
Rundown/AvaRundown.h | ||
bool RenumberPageIds
(
const TArray< int32 >& InPageIds, |
Rundown/AvaRundown.h | ||
EAvaPlayableRemoteControlChanges ResetRemoteControlControllerValue
(
int32 InPageId, |
Rundown/AvaRundown.h | ||
EAvaPlayableRemoteControlChanges ResetRemoteControlEntityValue
(
int32 InPageId, |
Rundown/AvaRundown.h | ||
EAvaPlayableRemoteControlChanges ResetRemoteControlValues
(
int32 InPageId, |
Rundown/AvaRundown.h | ||
| Used to reconcile playing state with a remote playback if connection was lost. | Rundown/AvaRundown.h | ||
bool SetActivePageList
(
const FAvaRundownPageListReference& InPageListReference |
Rundown/AvaRundown.h | ||
bool SetRemoteControlControllerValue
(
int32 InPageId, |
Rundown/AvaRundown.h | ||
bool SetRemoteControlEntityValue
(
int32 InPageId, |
Rundown/AvaRundown.h | ||
bool StopChannel
(
const FString& InChannelName |
Rundown/AvaRundown.h | ||
TArray< int32 > StopLayers
(
FName InChannelName, |
Stop the layers of a given channel. | Rundown/AvaRundown.h | |
bool StopPage
(
int32 InPageId, |
Rundown/AvaRundown.h | ||
bool StopPage
(
int32 InPageId, |
Rundown/AvaRundown.h | ||
TArray< int32 > StopPages
(
const TArray< int32 >& InPageIds, |
Rundown/AvaRundown.h | ||
TArray< int32 > StopPages
(
const TArray< int32 >& InPageIds, |
Rundown/AvaRundown.h | ||
int32 StopPageTransitionsByPredicate
(
TFunctionRef< bool(UAvaRundownPageTransition*)> InPredicate |
Stop transitions that return true for the given predicate. | Rundown/AvaRundown.h | |
int32 StopPageTransitionsForChannel
(
const FName InChannelName |
Stop all current transitions in the specified channel. | Rundown/AvaRundown.h | |
int32 StopPageTransitionsForPage
(
const FAvaRundownPage& InPage, |
Stop transitions involving the given page playing in the specified channel. | Rundown/AvaRundown.h | |
bool UnloadPage
(
int32 InPageId, |
Rundown/AvaRundown.h | ||
void UpdateAssetForPages
(
const TArray< int32 >& InPageIds, |
Rundown/AvaRundown.h | ||
EAvaPlayableRemoteControlChanges UpdateRemoteControlValues
(
int32 InPageId, |
Rundown/AvaRundown.h | ||
TArray< int32 > ValidateTemplateIdsForComboTemplate
(
const TArray< int32 >& InTemplateIds, |
Combo Templates have specific requirement for the sub-templates. | Rundown/AvaRundown.h |
Overridden from UObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void BeginDestroy() |
Rundown/AvaRundown.h | ||
virtual void OnCookEvent
(
UE::Cook::ECookEvent InCookEvent, |
Rundown/AvaRundown.h | ||
virtual void PostEditUndo() |
Rundown/AvaRundown.h | ||
virtual void PostLoad() |
Rundown/AvaRundown.h | ||
virtual void PreEditUndo() |
Rundown/AvaRundown.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
int32 AddPageFromTemplateInternal
(
int32 InTemplateId, |
Rundown/AvaRundown.h | ||
void AddPagePlayer
(
UAvaRundownPagePlayer* InPagePlayer |
Rundown/AvaRundown.h | ||
int32 GenerateUniquePageId
(
int32 InReferencePageId, |
Rundown/AvaRundown.h | ||
int32 GenerateUniquePageId
(
const FAvaRundownPageIdGeneratorParams& InParams |
Rundown/AvaRundown.h | ||
void InitializePage
(
FAvaRundownPage& InOutPage, |
Rundown/AvaRundown.h | ||
bool IsChannelTypeCompatibleForRequest
(
const FAvaRundownPage& InSelectedPage, |
Returns true if the selected page can play on the given channel. | Rundown/AvaRundown.h | |
bool IsPageIdUnique
(
int32 InPageId |
Rundown/AvaRundown.h | ||
void RefreshPageIndices() |
Caches the Page's Id to its Index in the Pages Array | Rundown/AvaRundown.h | |
void RefreshSubListIndices() |
Rundown/AvaRundown.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static FAvaRundownPageListReference CreateSubListReference
(
const FAvaRundownSubList& InSubList |
Rundown/AvaRundown.h | ||
static FAvaRundownPageListReference CreateSubListReference
(
const FGuid& InSubListId |
Rundown/AvaRundown.h | ||
static FName GetDefaultPreviewChannelName() |
Returns the currently selected preview channel (from the settings). | Rundown/AvaRundown.h | |
static const FAvaRundownPage & GetPageSafe
(
const UAvaRundown* InRundown, |
Rundown/AvaRundown.h |
Deprecated Variables
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| Pages_DEPRECATED | TArray< FAvaRundownPage > | Rundown/AvaRundown.h |