Navigation
API > API/Plugins > API/Plugins/AvalancheMedia > API/Plugins/AvalancheMedia/Rundown
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UAvaRundown
References
| Module | AvalancheMedia |
| Header | /Engine/Plugins/Experimental/Avalanche/Source/AvalancheMedia/Public/Rundown/AvaRundown.h |
| Include | #include "Rundown/AvaRundown.h" |
Syntax
UCLASS (NotBlueprintable, BlueprintType, ClassGroup="Motion Design Rundown",
Meta=(DisplayName="Motion Design Rundown"))
class UAvaRundown : public UObject
Remarks
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.
Variables
| Type | Name | Description | |
|---|---|---|---|
| FAvaRundownPageListReference | ActivePageList | ==InstancePageList Indicates that the entire list is being played, rather than a specific view. | |
| FAvaRundownPageCollection | InstancedPages | ||
| FOnActiveListChanged | OnActiveListChanged | ||
| FOnCanClosePlaybackContext | OnCanClosePlaybackContext | ||
| FOnAvaRundownPageListChanged | OnPageListChanged | ||
| FOnPagePlayerEvent | OnPagePlayerAdded | Rundown Player Event - Called when a new page player is added to the playback context. | |
| FOnPagePlayerEvent | OnPagePlayerRemoving | Rundown Player Event - Called when a stopped page player is about to be removed from the playback context. | |
| FOnAvaRundownPagesChanged | OnPagesChanged | ||
| FOnPageTransitionEvent | OnPageTransitionAdded | Rundown Transition Event - Called when a new page transition is added to the playback context. | |
| FOnPageTransitionEvent | OnPageTransitionRemoving | Rundown Transition Event - Called when a completed page transition is about to be removed from the playback context. | |
| TUniquePtr< FAvaRundownPageListPlaybackContextCollection > | PageListPlaybackContextCollection | ||
| TUniquePtr< IAvaRundownPageLoadingManager > | PageLoadingManager | ||
| TArray< TObjectPtr< UAvaRundownPagePlayer > > | PagePlayers | Keeping track of playing pages. | |
| TArray< TObjectPtr< UAvaRundownPageTransition > > | PageTransitions | ||
| TPimplPtr< FAvaRundownPlaybackClientWatcher > | PlaybackClientWatcher | ||
| TPimplPtr< FPreUndoBackup > | PreUndoBackup | ||
| TMap< FGuid, int32 > | SubListIndices | ||
| TArray< FAvaRundownSubList > | SubLists | ||
| FAvaRundownPageCollection | TemplatePages |
Constructors
| Type | Name | Description | |
|---|---|---|---|
UAvaRundown () |
Destructors
| Type | Name | Description | |
|---|---|---|---|
~UAvaRundown () |
Functions
| Type | Name | Description | |
|---|---|---|---|
| int32 | AddComboTemplate
(
const TArray< int32 >& InTemplateIds, |
||
| int32 | AddPageFromTemplate
(
int32 InTemplateId, |
Creates a new page in the page list using the given template. | |
| int32 | AddPageFromTemplateInternal
(
int32 InTemplateId, |
||
| void | AddPagePlayer
(
UAvaRundownPagePlayer* InPagePlayer |
||
| TArray< int32 > | AddPagesFromTemplates
(
const TArray< int32 >& InTemplateIds |
Create new pages in the page list for teh given template Ids. | |
| bool | AddPagesToSubList
(
const FAvaRundownPageListReference& InPageListReference, |
||
| bool | AddPageToSubList
(
const FAvaRundownPageListReference& InPageListReference, |
||
| void | AddPageTransition
(
UAvaRundownPageTransition* InPageTransition |
||
| FAvaRundownPageListReference | AddSubList () |
||
| int32 | AddTemplate
(
const FAvaRundownPageIdGeneratorParams& InIdGeneratorParams |
Add empty template. | |
| int32 | AddTemplateInternal
(
const FAvaRundownPageIdGeneratorParams& InIdGeneratorParams, |
||
| TArray< int32 > | AddTemplates
(
const TArray< FAvaRundownPage >& InSourceTemplates |
Add templates from existing source. | |
| bool | CanAddPage () |
||
| bool | |||
| bool | Determines if the playback context can be closed. | ||
| bool | CanContinuePage
(
int32 InPageId, |
||
| bool | CanContinuePage
(
int32 InPageId, |
||
| bool | CanPlayPage
(
int32 InPageId, |
||
| bool | CanPlayPage
(
int32 InPageId, |
||
| bool | CanRemovePage
(
int32 InPageId |
||
| bool | CanRemovePages
(
const TArray< int32 >& InPageIds |
||
| bool | CanRenumberPageId
(
int32 InPageId, |
||
| bool | CanRenumberPageId
(
int32 InPageId |
||
| bool | CanStartTransitionForPage
(
const FAvaRundownPage& InPage, |
||
| bool | CanStopChannel
(
const FString& InChannelName |
||
| bool | CanStopPage
(
int32 InPageId, |
||
| bool | CanStopPage
(
int32 InPageId, |
||
| bool | ChangePageOrder
(
const FAvaRundownPageListReference& InPageListReference, |
Reorders the pages, swapping the old indices for the new ones. | |
| void | ClosePlaybackContext
(
bool bInStopAllPages |
Similarly, when the editor is done, it can close the playback context. | |
| bool | ContinuePage
(
int32 InPageId, |
||
| bool | ContinuePage
(
int32 InPageId, |
||
| FAvaRundownPageListReference | CreateSubListReference
(
const FAvaRundownSubList& InSubList |
||
| FAvaRundownPageListReference | CreateSubListReference
(
const FGuid& InSubListId |
||
| bool | Empty () |
Clear the rundown of all it's content. Will be prevented if the rundown is playing. | |
| UAvaRundownPagePlayer * | FindPagePlayer
(
int32 InPageId, |
Finds the page player for the given pageId and channel name. | |
| UAvaRundownPagePlayer * | FindPlayerForPage
(
int32 InPageId, |
||
| UAvaRundownPagePlayer * | FindPlayerForPreviewPage
(
int32 InPageId, |
||
| UAvaRundownPagePlayer * | FindPlayerForProgramPage
(
int32 InPageId |
||
| int32 | GenerateUniquePageId
(
int32 InReferencePageId, |
||
| int32 | GenerateUniquePageId
(
const FAvaRundownPageIdGeneratorParams& InParams |
||
| const FAvaRundownPageListReference & | |||
| FAvaRundownSubList & | |||
| const FAvaRundownSubList & | |||
| FName | Returns the currently selected preview channel (from the settings). | ||
| const FAvaRundownPageCollection & | |||
| FAvaRundownPage & | GetNextPage
(
int32 InPageId, |
Gets the page following the page with the given page id in the given page list. | |
| const FAvaRundownPage & | GetNextPage
(
int32 InPageId, |
Gets the page following the page with the given page id in the given page list. | |
| FAvaRundownPage & | GetNextPage
(
int32 InPageId |
Gets the page following the page with the given page id. Using current active page list. | |
| const FAvaRundownPage & | GetNextPage
(
int32 InPageId |
Gets the page following the page with the given page id. Using current active page list. | |
| FOnActiveListChanged & | |||
| FOnCanClosePlaybackContext::RegistrationType & | |||
| FOnAvaRundownPageListChanged & | |||
| FOnPagePlayerEvent & | |||
| FOnPagePlayerEvent & | |||
| FOnAvaRundownPagesChanged & | |||
| FOnPageTransitionEvent & | |||
| FOnPageTransitionEvent & | |||
| FAvaRundownPageListPlaybackContextCollection & | |||
| const FAvaRundownPage & | |||
| FAvaRundownPage & | |||
| FAvaRundownPageListPlaybackContextCollection * | |||
| IAvaRundownPageLoadingManager & | Access the page loading manager for this rundown. | ||
| const TArray< TObjectPtr< UAvaRundownPagePlayer > > & | |||
| const FAvaRundownPage & | GetPageSafe
(
const UAvaRundown* InRundown, |
||
| UAvaRundownPageTransition * | GetPageTransition
(
const FGuid& InTransitionId |
||
| FAvaPlaybackManager & | |||
| TArray< int32 > | GetPlayingPageIds
(
const FName InProgramChannelName |
Return the current playing Page Ids on the specified program channel. | |
| TArray< int32 > | GetPreviewingPageIds
(
const FName InPreviewChannelName |
Return the current previewing Page Ids on the specified preview channel. | |
| UTextureRenderTarget2D * | GetPreviewRenderTarget
(
const FName& InPreviewChannel |
||
| UTextureRenderTarget2D * | |||
| const FAvaRundownSubList & | GetSubList
(
const FAvaRundownPageListReference& InPageListReference |
||
| FAvaRundownSubList & | GetSubList
(
const FGuid& InSubListId |
||
| const FAvaRundownSubList & | GetSubList
(
const FGuid& InSubListId |
||
| FAvaRundownSubList & | GetSubList
(
int32 InSubListIndex |
||
| const FAvaRundownSubList & | GetSubList
(
int32 InSubListIndex |
||
| FAvaRundownSubList & | GetSubList
(
const FAvaRundownPageListReference& InPageListReference |
||
| int32 | GetSubListIndex
(
const FAvaRundownSubList& InSubList |
||
| const TArray< FAvaRundownSubList > & | GetSubLists () |
||
| const FAvaRundownPageCollection & | |||
| bool | Returns true only if a sub list, not the main list, is active. | ||
| void | InitializePage
(
FAvaRundownPage& InOutPage, |
||
| void | Since the playback context is part of the asset for now, there is an explicit call to initialize it. | ||
| void | InvalidateManagedInstanceCacheForPages
(
const TArray< int32 >& InPageIds |
||
| bool | IsChannelTypeCompatibleForRequest
(
const FAvaRundownPage& InSelectedPage, |
Returns true if the selected page can play on the given channel. | |
| bool | IsEmpty () |
Returns true if the rundown is empty, i.e. no pages and no templates. | |
| bool | IsPageIdUnique
(
int32 InPageId |
||
| bool | IsPagePlaying
(
int32 InPageId |
Returns true if the page is playing in it's assigned program channel. | |
| bool | IsPagePlaying
(
const FAvaRundownPage& InPage |
||
| bool | IsPagePlayingOrPreviewing
(
int32 InPageId |
||
| bool | IsPagePreviewing
(
int32 InPageId |
Returns true if the page with the given page Id is being previewed (in any preview channel). | |
| bool | IsPlaying () |
Returns true if the any page is either playing or previewing. | |
| bool | IsValidSubList
(
const FAvaRundownPageListReference& InPageListReference |
||
| TArray< FLoadedInstanceInfo > | Preload the given page so it has an asset ready for playback. | ||
| void | NotifyPageRemoteControlValueChanged
(
int32 InPageId, |
||
| void | NotifyPageSequenceFinished
(
int32 InPageId |
||
| void | NotifyPageStopped
(
int32 InPageId |
||
| void | NotifyPIEEnded
(
const bool |
||
| void | Clean up playing status on a system tear down. | ||
| bool | PlayPage
(
int32 InPageId, |
||
| bool | PlayPage
(
int32 InPageId, |
||
| TArray< int32 > | PlayPages
(
const TArray< int32 >& InPageIds, |
Start the playback of the asset defined in the given pages. | |
| TArray< int32 > | PlayPages
(
const TArray< int32 >& InPageIds, |
Start the playback of the asset defined in the given pages. | |
| bool | PushRuntimeRemoteControlValues
(
int32 InPageId, |
Push the page's RC values to the runtime playback instances. | |
| void | Caches the Page's Id to its Index in the Pages Array | ||
| void | |||
| bool | RemovePage
(
int32 InPageId |
||
| int32 | RemovePages
(
const TArray< int32 >& InPageIds |
Remove all the Pages in the Array. Returns the number of Pages removed. | |
| int32 | RemovePagesFromSubList
(
const FAvaRundownPageListReference& InPageListReference, |
||
| void | RemovePageTransition
(
UAvaRundownPageTransition* InPageTransition |
||
| void | |||
| bool | RemoveSubList
(
const FAvaRundownPageListReference& InPageListReference |
||
| bool | RenameSubList
(
const FAvaRundownPageListReference& InPageListReference, |
||
| bool | RenumberPageId
(
int32 InPageId, |
||
| bool | RenumberPageIds
(
const TArray< int32 >& InPageIds, |
||
| EAvaPlayableRemoteControlChanges | ResetRemoteControlControllerValue
(
int32 InPageId, |
||
| EAvaPlayableRemoteControlChanges | ResetRemoteControlEntityValue
(
int32 InPageId, |
||
| EAvaPlayableRemoteControlChanges | ResetRemoteControlValues
(
int32 InPageId, |
||
| bool | RestorePlaySubPage
(
int32 InPageId, |
Used to reconcile playing state with a remote playback if connection was lost. | |
| bool | SetActivePageList
(
const FAvaRundownPageListReference& InPageListReference |
||
| bool | SetRemoteControlControllerValue
(
int32 InPageId, |
||
| bool | SetRemoteControlEntityValue
(
int32 InPageId, |
||
| bool | StopChannel
(
const FString& InChannelName |
||
| bool | StopPage
(
int32 InPageId, |
||
| bool | StopPage
(
int32 InPageId, |
||
| TArray< int32 > | StopPages
(
const TArray< int32 >& InPageIds, |
||
| TArray< int32 > | StopPages
(
const TArray< int32 >& InPageIds, |
||
| void | StopPageTransitionsForPage
(
const FAvaRundownPage& InPage, |
||
| bool | UnloadPage
(
int32 InPageId, |
||
| void | UpdateAssetForPages
(
const TArray< int32 >& InPageIds, |
||
| EAvaPlayableRemoteControlChanges | UpdateRemoteControlValues
(
int32 InPageId, |
Overridden from UObject
| Type | Name | Description | |
|---|---|---|---|
| void | BeginDestroy () |
Called before destroying the object. | |
| void | PostEditUndo () |
Called after applying a transaction to the object. | |
| void | PostLoad () |
Do any object-specific cleanup required immediately after loading an object. | |
| void | PreEditUndo () |
Called before applying a transaction to the object. |
Classes
| Type | Name | Description | |
|---|---|---|---|
| FLoadedInstanceInfo | |||
| FPreUndoBackup |
Typedefs
| Name | Description |
|---|---|
| FOnActiveListChanged | |
| FOnCanClosePlaybackContext | Delegate called to determine if the playback context can be closed. |
| FOnPagePlayerEvent | |
| FOnPageTransitionEvent |
Constants
| Name | Description |
|---|---|
| InstancePageList | |
| InvalidSubList | |
| InvalidSubListMutable | |
| TemplatePageList |
Deprecated Variables
| Type | Name | Description | |
|---|---|---|---|
| TArray< FAvaRundownPage > | Pages_DEPRECATED |