You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
/** The local package id - as given by the blueprints */
58
-
blueprintPackageId: string
54
+
55
+
/*
56
+
* What about this new concept. The aim here is to avoid the constant inserting and deleting of expectedPackages during playout, and avoiding duplicate packages with the same content.
57
+
* The idea is to have a single expectedPackage for each 'content'.
58
+
* Ingest will 'deduplicate' the packages produced by the blueprints, with playout able to reference them with pieceInstanceIds.
59
+
*
60
+
* During the ingest save phase, it will need to reload the `playoutSources` property, in case it has changed. And if there are uses remaining, it will need to keep the package after clearing the `ingestSources`.
61
+
* During playout operations, pieceInstanceIds will be added and removed as needed. If there remains no sources (of either type), then the document can be removed. If an in-progress ingest tried to reclaim it, it will get reinserted.
62
+
*
63
+
* Playout can then load just the ones referenced by piece instances, and just before it needs to use them (for bluerpint types or something), can ensure that everything needed has been loaded.
64
+
* During a take, any packages referenced by the previous(?) partinstance must be removed.
65
+
* When doing a reset of the rundown, all playout references must be removed.
66
+
* When inserting/removing pieceinstances, the expectedPackages must be updated.
67
+
*/
68
+
exportinterfaceExpectedPackageDBNew{
69
+
_id: ExpectedPackageId// derived from rundownId and hash of `package`
70
+
71
+
// /** The local package id - as given by the blueprints */
72
+
// blueprintPackageId: string // TODO - remove this?
59
73
60
74
/** The studio of the Rundown of the Piece this package belongs to */
61
75
studioId: StudioId
62
76
77
+
/** The rundown of the Piece this package belongs to */
78
+
rundownId: RundownId
79
+
63
80
/** Hash that changes whenever the content or version changes. See getContentVersionHash() */
64
81
contentVersionHash: string
65
82
66
-
// pieceId: ProtectedString<any> | null
67
-
fromPieceType: ExpectedPackageDBType
68
-
69
83
created: Time
84
+
85
+
package: ReadonlyDeep<ExpectedPackage.Any>
86
+
87
+
// HACK: This should be ExpectedPackageIngestSource[], but for the first iteration this is limited to a single source
0 commit comments