From caf830fcd49601f2deea31a5fb57277260a6563f Mon Sep 17 00:00:00 2001 From: Michael Smith Date: Fri, 13 Jun 2025 19:29:55 -0700 Subject: [PATCH 01/14] address feedback based on group discussion during 2025-06-11 IMFUG call --- src/main/data/cpl-marker-labels.json | 52 ++++++++-------------------- 1 file changed, 14 insertions(+), 38 deletions(-) diff --git a/src/main/data/cpl-marker-labels.json b/src/main/data/cpl-marker-labels.json index c52053a..ea4638f 100644 --- a/src/main/data/cpl-marker-labels.json +++ b/src/main/data/cpl-marker-labels.json @@ -583,27 +583,27 @@ "authority": "IMF UG" }, { - "label": "FFTease", + "label": "FFPromo", "scope": "https://www.imfug.com/ns/cpl-markers/2025", "seeAlso": [ { "scope": "https://www.imfug.com/ns/cpl-markers/2025", - "label": "LFTease" + "label": "LFPromo" } ], - "description": "First Frame of Tease – A tease or other advertisement for an episode, season, series/show, or other work. This applies to recaps leadin or trailing teases rather than standalone recaps.", + "description": "First Frame of Promotion – promotional material associated with media. This includes teasers, trailers, electronic press kits and other materials.", "authority": "IMF UG" }, { - "label": "LFTease", + "label": "LFPromo", "scope": "https://www.imfug.com/ns/cpl-markers/2025", "seeAlso": [ { "scope": "https://www.imfug.com/ns/cpl-markers/2025", - "label": "FFTease" + "label": "FFPromo" } ], - "description": "Last Frame of Tease – A tease or other advertisement for an episode, season, series/show, or other work. This applies to recaps leadin or trailing teases rather than standalone recaps.", + "description": "Last Frame of Promotion – promotional material associated with media. This includes teasers, trailers, electronic press kits and other materials.", "authority": "IMF UG" }, { @@ -615,7 +615,7 @@ "label": "LFAd" } ], - "description": "First Frame of Ad – An advertisement other than Tease", + "description": "First Frame of Ad – any form of advertisement including TV commercials, informercials, and public service announcements.", "authority": "IMF UG" }, { @@ -627,7 +627,7 @@ "label": "FFAd" } ], - "description": "Last Frame of Ad – An advertisement other than Tease", + "description": "Last Frame of Ad – any form of advertisement including TV commercials, informercials, and public service announcements.", "authority": "IMF UG" }, { @@ -775,51 +775,27 @@ "authority": "IMF UG" }, { - "label": "FFLS", + "label": "FFPictureLocal", "scope": "https://www.imfug.com/ns/cpl-markers/2025", "seeAlso": [ { "scope": "https://www.imfug.com/ns/cpl-markers/2025", - "label": "LFLS" + "label": "LFPictureLocal" } ], - "description": "First Frame of First/Last frame of Localization Sequence/Segement/Shot that contains any video that is localized", + "description": "First frame of Localization Sequence/Segement/Shot that contain any images that are localized", "authority": "IMF UG" }, { - "label": "LFLS", + "label": "LFPictureLocal", "scope": "https://www.imfug.com/ns/cpl-markers/2025", "seeAlso": [ { "scope": "https://www.imfug.com/ns/cpl-markers/2025", - "label": "FFLS" + "label": "FFPictureLocal" } ], - "description": "First Frame of First/Last frame of Localization Sequence/Segement/Shot that contains any video that is localized", - "authority": "IMF UG" - }, - { - "label": "FFOT", - "scope": "https://www.imfug.com/ns/cpl-markers/2025", - "seeAlso": [ - { - "scope": "https://www.imfug.com/ns/cpl-markers/2025", - "label": "LFOT" - } - ], - "description": "First Frame of First/Last frame of Tag that contains any sequence of credit content (mark-in/mark-out for credit sequence(tag))", - "authority": "IMF UG" - }, - { - "label": "LFOT", - "scope": "https://www.imfug.com/ns/cpl-markers/2025", - "seeAlso": [ - { - "scope": "https://www.imfug.com/ns/cpl-markers/2025", - "label": "FFOT" - } - ], - "description": "First Frame of First/Last frame of Tag that contains any sequence of credit content (mark-in/mark-out for credit sequence(tag))", + "description": "Last frame of Localization Sequence/Segement/Shot that contain any images that are localized", "authority": "IMF UG" }, { From d9604bb0e08e8576736839dd949ceec7a114f290 Mon Sep 17 00:00:00 2001 From: Pierre-Anthony Lemieux Date: Tue, 8 Apr 2025 10:47:24 -0700 Subject: [PATCH 02/14] Initial pass at adding IMF UG labels --- src/main/data/cpl-marker-labels.json | 667 +++++++++++++++++++++-- src/main/scripts/build.mjs | 17 +- src/main/templates/cpl-marker-labels.hbs | 6 +- 3 files changed, 637 insertions(+), 53 deletions(-) diff --git a/src/main/data/cpl-marker-labels.json b/src/main/data/cpl-marker-labels.json index afdf595..b4ef167 100644 --- a/src/main/data/cpl-marker-labels.json +++ b/src/main/data/cpl-marker-labels.json @@ -2,271 +2,848 @@ { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "FFBT", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": "LFBT" + } + ], "description": "First Frame of Bars and Tone", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "FFCB", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": "LFCB" + } + ], "description": "First Frame of Commercial Blacks", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "FFCL", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": "LFCL" + } + ], "description": "First Frame of Company/Production Logo", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "FFDL", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": "LFDL" + } + ], "description": "First Frame of Distribution Logo", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "FFEC", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": "LFEC" + } + ], "description": "First Frame of End Credits. First displayable frame of content that contains any intensity of the End Credits (a non zero alpha value), which appear at the end of a feature.", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "FFHS", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": "LFHS" + } + ], "description": "First Frame of Head Slate", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "FFMC", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": "LFMC" + } + ], "description": "First displayable frame of content that contains any intensity of moving, rolling or scrolling credits (a non-zero alpha value), which appear at the end of the feature.", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "FFOB", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": "LFOB" + } + ], "description": "First Frame of Ratings Band. First displayable frame of content of the Rating Band, which is usually a slate at the beginning of a feature.", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "FFOC", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": "LFOC" + } + ], "description": "First Frame of Composition. The first frame of a composition that is intended for display.", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "FFOI", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": "LFOI" + } + ], "description": "First Frame of Intermission.", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "FFSP", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": "LFS" + } + ], "description": "First Frame of Digital Sync Pop", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "FFTC", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": "LFTC" + } + ], "description": "First Frame of Title Credits. First displayable frame of content that contains any intensity of the Title Credits (a non zero alpha value), which appear at the beginning of a feature.", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "FFTS", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": "LFTS" + } + ], "description": "First Frame of Tail Slate", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "FTXC", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": " LTXC" + } + ], "description": "First Frame of Textless Title Credits", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "FTXE", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": "LTXE" + } + ], "description": "First Frame of Textless End Credits", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "FTXM", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": "LFXM" + } + ], "description": "First Frame of Textless Material Segment", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "LFBT", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": "FFBT" + } + ], "description": "Last Frame of Bars and Tone", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "LFCB", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": "FFTB" + } + ], "description": "Last Frame of Commercial Blacks", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "LFCL", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": "FFCL" + } + ], "description": "Last Frame of Company/Production Logo", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "LFDL", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": "FFDL" + } + ], "description": "Last Frame of Distribution Logo", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "LFEC", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": "FFEC" + } + ], "description": "Last Frame of End Credits. Last displayable frame of content that contains any intensity of the End Credits (a non zero alpha value), which appear at the end of a feature.", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "LFHS", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": "FFHS" + } + ], "description": "Last Frame of Head Slate", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "LFMC", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": "FFMC" + } + ], "description": "Last displayable frame of content that contains any intensity of moving, rolling or scrolling credits (a non-zero alpha value), which appear at the end of the feature.", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "LFOB", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": "FFOB" + } + ], "description": "Last Frame of Ratings Band. Last displayable frame of content of the Rating Band, which is usually a slate at the beginning of a feature.", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "LFOC", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": "FFOC" + } + ], "description": "Last Frame of Composition. The last frame of a composition that is intended for display.", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "LFOI", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": "FFOI" + } + ], "description": "Last Frame of Intermission.", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "LFSP", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": "FFSP" + } + ], "description": "Last Frame of Digital Sync Pop", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "LFTC", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": "FFTC" + } + ], "description": "Last Frame of Title Credits. Last displayable frame of content that contains any intensity of the Title Credits (a non zero alpha value), which appear at the beginning of a feature.", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "LFTS", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": "FFTS" + } + ], "description": "Last Frame of Tail Slate", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "LTXC", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": "FTXC" + } + ], "description": "Last frame of Textless Title Credits", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "LTXE", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/20201320#standard-markers", + "label": "FTXE" + } + ], "description": "Last Frame of Textless End Credits", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "LTXM", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": "FTXM" + } + ], "description": "Last frame of Textless Material Segment", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "FPCI", + "seeAlso": [], "description": "Fixed Point Candidate Insertion. Indicates possible point in the timeline where it would be allowable to insert content downstrean. This is for material that may not have commercial blacks, but could indicate a candidate point where a commercial could be inserted.", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "FFCO", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": "LFCO" + } + ], "description": "First Frame of Candidate Overlay. First frame of a sequence of frames where overlays, e.g. commercial overlays, may be placed.", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "LFCO", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": "FFCO" + } + ], "description": "Last Frame of Candidate Overlay. Last frame of a sequence of frames where overlays, e.g. commercial overlays, may be placed.", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "FFOA", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": "LFOA" + } + ], "description": "Audio First Frame. First frame of audio ring-in/ring-out where the video is in black.", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "LFOA", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", + "label": "" + } + ], "description": "Audio Last Frame. Last frame of audio ring-in/ring-out where the video is in black.", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2016#standard-markers", "label": "FFDC", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2016#standard-markers", + "label": "LFDC" + } + ], "description": "First Frame of Dubbing Credits. First displayable frame of content that contains any intensity of dubbing credits", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2016#standard-markers", "label": "LFDC", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2016#standard-markers", + "label": "FFDC" + } + ], "description": "Last Frame of Dubbing credits: Last displayable frame of content that contains any intensity of dubbing credits", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2020#standard-markers", "label": "FFEI", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2020#standard-markers", + "label": "LFEI" + } + ], "description": "First Frame of Episode Intro", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2020#standard-markers", "label": "FFER", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2020#standard-markers", + "label": "LFER" + } + ], "description": "First Frame of Episode Recap", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2020#standard-markers", "label": "FFUN", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2020#standard-markers", + "label": "LFUN" + } + ], "description": "First Frame of Up Next", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2020#standard-markers", "label": "LFEI", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2020#standard-markers", + "label": "FFEI" + } + ], "description": "Last Frame of Episode Intro", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2020#standard-markers", "label": "LFER", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2020#standard-markers", + "label": "FFER" + } + ], "description": "Last Frame of Episode Recap", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" }, { "scope": "http://www.smpte-ra.org/schemas/2067-3/2020#standard-markers", "label": "LFUN", + "seeAlso": [ + { + "scope": "http://www.smpte-ra.org/schemas/2067-3/2020#standard-markers", + "label": "FFUN" + } + ], "description": "Last Frame of Up Next", - "definingDocument": "SMPTE ST 2067-3" + "authority": "SMPTE ST 2067-3" + }, + { + "label": "FFCreditScene", + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "seeAlso": [ + { + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "label": "LFCreditScene" + } + ], + "description": "First Frame of Credit Scene – A scene embedded in the credits, typically closing credits. This can be mid-credit or post-credit.", + "authority": "IMF UG" + }, + { + "label": "LFCreditScene", + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "seeAlso": [ + { + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "label": "FFCreditScene" + } + ], + "description": "Last frame of Credit Scene – A scene embedded in the credits, typically closing credits. This can be mid-credit or post-credit.", + "authority": "IMF UG" + }, + { + "label": "FFRecap", + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "seeAlso": [ + { + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "label": "LFRecap" + } + ], + "description": "First Frame of Recap – A recap of an episode, season, series/show, or other work. This applies to recaps leadin or trailing recaps rather than standalone recaps.", + "authority": "IMF UG" + }, + { + "label": "LFRecap", + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "seeAlso": [ + { + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "label": "FFRecap" + } + ], + "description": "Last Frame of Recap – A recap of an episode, season, series/show, or other work. This applies to recaps leadin or trailing recaps rather than standalone recaps.", + "authority": "IMF UG" + }, + { + "label": "FFTease", + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "seeAlso": [ + { + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "label": "LFTease" + } + ], + "description": "First Frame of Tease – A tease or other advertisement for an episode, season, series/show, or other work. This applies to recaps leadin or trailing teases rather than standalone recaps.", + "authority": "IMF UG" + }, + { + "label": "LFTease", + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "seeAlso": [ + { + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "label": "FFTease" + } + ], + "description": "Last Frame of Tease – A tease or other advertisement for an episode, season, series/show, or other work. This applies to recaps leadin or trailing teases rather than standalone recaps.", + "authority": "IMF UG" + }, + { + "label": "FFAd", + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "seeAlso": [ + { + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "label": "LFAd" + } + ], + "description": "First Frame of Ad – An advertisement other than Tease", + "authority": "IMF UG" + }, + { + "label": "LFAd", + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "seeAlso": [ + { + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "label": "FFAd" + } + ], + "description": "Last Frame of Ad – An advertisement other than Tease", + "authority": "IMF UG" + }, + { + "label": "FFLogo", + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "seeAlso": [ + { + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "label": "LFLogo" + } + ], + "description": "First Frame of Logo – Logos other than Company/Production or Distribution. For example, Network, Distributor, or Platform", + "authority": "IMF UG" + }, + { + "label": "LFLogo", + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "seeAlso": [ + { + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "label": "FFLogo" + } + ], + "description": "Last Frame of Logo – Logos other than Company/Production or Distribution. For example, Network, Distributor, or Platform", + "authority": "IMF UG" + }, + { + "label": "FFAltEnding", + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "seeAlso": [ + { + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "label": "LFAltEnding" + } + ], + "description": "First Frame of Alternate ending – An alternate ending", + "authority": "IMF UG" + }, + { + "label": "LFAltEnding", + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "seeAlso": [ + { + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "label": "FFAltEnding" + } + ], + "description": "Last Frame of Alternate ending – An alternate ending", + "authority": "IMF UG" + }, + { + "label": "FFAddlCredits", + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "seeAlso": [ + { + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "label": "LFAddlCredits" + } + ], + "description": "First Frame of Extra credits – Additional credits.", + "authority": "IMF UG" + }, + { + "label": "LFAddlCredits", + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "seeAlso": [ + { + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "label": "FFAddlCredits" + } + ], + "description": "Last Frame of Extra credits – Additional credits.", + "authority": "IMF UG" + }, + { + "label": "FFAddlGraphics", + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "seeAlso": [ + { + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "label": "LFAddlGraphics" + } + ], + "description": "First Frame of Additional graphics – Additional graphics", + "authority": "IMF UG" + }, + { + "label": "LFAddlGraphics", + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "seeAlso": [ + { + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "label": "FFAddlGraphics" + } + ], + "description": "Last Frame of Additional graphics – Additional graphics", + "authority": "IMF UG" + }, + { + "label": "FFCompliance", + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "seeAlso": [ + { + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "label": "LFCompliance" + } + ], + "description": "First Frame of Compliance event – Period of time that contains content not meeting some compliance standards (e.g., nudity, smoking, or language)", + "authority": "IMF UG" + }, + { + "label": "LFCompliance", + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "seeAlso": [ + { + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "label": "FFCompliance" + } + ], + "description": "Last Frame of Compliance event – Period of time that contains content not meeting some compliance standards (e.g., nudity, smoking, or language)", + "authority": "IMF UG" + }, + { + "label": "FFTitleCard", + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "seeAlso": [ + { + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "label": "LFTitleCard" + } + ], + "description": "First Frame of Title Card –The shows title graphic found within the 1st segment of a program. Could overlap with Opening sequence.", + "authority": "IMF UG" + }, + { + "label": "LFTitleCard", + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "seeAlso": [ + { + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "label": "FFTitleCard" + } + ], + "description": "Last Frame of Title Card –The shows title graphic found within the 1st segment of a program. Could overlap with Opening sequence.", + "authority": "IMF UG" + }, + { + "label": "FFLS", + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "seeAlso": [ + { + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "label": "LFLS" + } + ], + "description": "First Frame of First/Last frame of Localization Sequence/Segement/Shot that contains any video that is localized", + "authority": "IMF UG" + }, + { + "label": "LFLS", + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "seeAlso": [ + { + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "label": "FFLS" + } + ], + "description": "First Frame of First/Last frame of Localization Sequence/Segement/Shot that contains any video that is localized", + "authority": "IMF UG" + }, + { + "label": "FFOT", + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "seeAlso": [ + { + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "label": "LFOT" + } + ], + "description": "First Frame of First/Last frame of Tag that contains any sequence of credit content (mark-in/mark-out for credit sequence(tag))", + "authority": "IMF UG" + }, + { + "label": "LFOT", + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "seeAlso": [ + { + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "label": "FFOT" + } + ], + "description": "First Frame of First/Last frame of Tag that contains any sequence of credit content (mark-in/mark-out for credit sequence(tag))", + "authority": "IMF UG" + }, + { + "label": "FFCallToAction", + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "seeAlso": [ + { + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "label": "LFCallToAction" + } + ], + "description": "First Frame of Ad contains call to action like a web link \"visit www.savethewhales.org\"", + "authority": "IMF UG" + }, + { + "label": "LFCallToAction", + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "seeAlso": [ + { + "scope": "https://www.imfug.com/ns/cpl-markers/2025", + "label": "FFCallToAction" + } + ], + "description": "First Frame of Ad contains call to action like a web link \"visit www.savethewhales.org\"", + "authority": "IMF UG" } ] \ No newline at end of file diff --git a/src/main/scripts/build.mjs b/src/main/scripts/build.mjs index a93dd86..fa890d8 100644 --- a/src/main/scripts/build.mjs +++ b/src/main/scripts/build.mjs @@ -47,23 +47,30 @@ if (!register) { const scopes = new Map(); for (const entry of register) { if (entry.scope === undefined) { - throw "Missing scope in entry"; + throw "Missing scope property"; } if (entry.label === undefined) { - throw "Missing label in entry"; + throw "Missing label property"; } if (entry.description === undefined) { - throw "Missing description in entry"; + throw "Missing description property"; } - if (entry.definingDocument === undefined) { - throw "Missing definingDocument in entry"; + if (entry.authority === undefined) { + throw "Missing authority property"; + } + if (entry.seeAlso === undefined) { + throw "Missing seeAlso property"; } let labels = scopes.get(entry.scope); if (labels === undefined) { labels = []; scopes.set(entry.scope, labels); } + if (labels.some((e) => e.label === entry.label)) { + throw `Duplicate label: ${entry.scope} ${entry.label}`; + } labels.push(entry); + } diff --git a/src/main/templates/cpl-marker-labels.hbs b/src/main/templates/cpl-marker-labels.hbs index 3c500f5..f465d4e 100644 --- a/src/main/templates/cpl-marker-labels.hbs +++ b/src/main/templates/cpl-marker-labels.hbs @@ -36,7 +36,7 @@ Label Description - Defining document + Where is it defined? {{#each scopes}} @@ -45,10 +45,10 @@ scope: {{scope}} {{#each labels}} - + {{label}} {{description}} - {{definingDocument}} + {{authority}} {{/each}} From c4a07729498857013678dc0c4c0931ec6d434c38 Mon Sep 17 00:00:00 2001 From: Pierre-Anthony Lemieux Date: Tue, 8 Apr 2025 11:08:23 -0700 Subject: [PATCH 03/14] Add seeAlson --- src/main/data/cpl-marker-labels.json | 12 ++++++------ src/main/resources/static/main.css | 7 ++++++- src/main/scripts/build.mjs | 23 +++++++++++++++++++++-- src/main/templates/cpl-marker-labels.hbs | 8 +++++++- 4 files changed, 40 insertions(+), 10 deletions(-) diff --git a/src/main/data/cpl-marker-labels.json b/src/main/data/cpl-marker-labels.json index b4ef167..c52053a 100644 --- a/src/main/data/cpl-marker-labels.json +++ b/src/main/data/cpl-marker-labels.json @@ -125,7 +125,7 @@ "seeAlso": [ { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", - "label": "LFS" + "label": "LFSP" } ], "description": "First Frame of Digital Sync Pop", @@ -161,7 +161,7 @@ "seeAlso": [ { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", - "label": " LTXC" + "label": "LTXC" } ], "description": "First Frame of Textless Title Credits", @@ -185,7 +185,7 @@ "seeAlso": [ { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", - "label": "LFXM" + "label": "LTXM" } ], "description": "First Frame of Textless Material Segment", @@ -209,7 +209,7 @@ "seeAlso": [ { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", - "label": "FFTB" + "label": "FFCB" } ], "description": "Last Frame of Commercial Blacks", @@ -364,7 +364,7 @@ "label": "LTXE", "seeAlso": [ { - "scope": "http://www.smpte-ra.org/schemas/2067-3/20201320#standard-markers", + "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", "label": "FTXE" } ], @@ -432,7 +432,7 @@ "seeAlso": [ { "scope": "http://www.smpte-ra.org/schemas/2067-3/2013#standard-markers", - "label": "" + "label": "FFOA" } ], "description": "Audio Last Frame. Last frame of audio ring-in/ring-out where the video is in black.", diff --git a/src/main/resources/static/main.css b/src/main/resources/static/main.css index 1962c72..2e1835c 100644 --- a/src/main/resources/static/main.css +++ b/src/main/resources/static/main.css @@ -2,6 +2,7 @@ body { overflow-x: hidden; font-family: Arial, Helvetica, sans-serif; margin: auto; + line-height: 125%; } /* toolbar */ @@ -72,7 +73,11 @@ footer { } #register th:nth-child(3) { - width: 30%; + width: 10%; +} + +#register th:nth-child(4) { + width: 20%; } #register tbody tr:nth-child(even) { diff --git a/src/main/scripts/build.mjs b/src/main/scripts/build.mjs index fa890d8..f3d347d 100644 --- a/src/main/scripts/build.mjs +++ b/src/main/scripts/build.mjs @@ -66,13 +66,32 @@ for (const entry of register) { labels = []; scopes.set(entry.scope, labels); } + + /* check for duplicate labels */ if (labels.some((e) => e.label === entry.label)) { throw `Duplicate label: ${entry.scope} ${entry.label}`; } labels.push(entry); - } +/* validate seeAlso property */ +for (const entry of register) { + for (const ref of entry.seeAlso) { + if (ref.scope === undefined) { + throw "Missing seeAlso scope property"; + } + if (ref.label === undefined) { + throw "Missing seeAlso label property"; + } + const ref_scope = scopes.get(ref.scope); + if (ref_scope === undefined) { + throw `Unknown seeAlso scope: ${ref.scope}`; + } + if (!ref_scope.find((e) => e.label === ref.label)) { + throw `Unknown seeAlso label at ${entry.label}: ${ref.label}`; + } + } +} /* get the version field */ let version = "Unknown version" @@ -98,7 +117,7 @@ if (!template) { var html = template({ "version": version, - "scopes" : Array.from(scopes.entries(), ([scope, value]) => ({scope: scope, labels: value})), + "scopes": Array.from(scopes.entries(), ([scope, value]) => ({ scope: scope, labels: value })), }); writeFileSync(join(BUILD_PATH, PAGE_SITE_PATH), html, 'utf8'); diff --git a/src/main/templates/cpl-marker-labels.hbs b/src/main/templates/cpl-marker-labels.hbs index f465d4e..3ae0075 100644 --- a/src/main/templates/cpl-marker-labels.hbs +++ b/src/main/templates/cpl-marker-labels.hbs @@ -36,18 +36,24 @@ Label Description + See also Where is it defined? {{#each scopes}} - scope: {{scope}} + scope: {{scope}} {{#each labels}} {{label}} {{description}} + + {{#each seeAlso}} + {{label}} + {{/each}} + {{authority}} {{/each}} From 316fece0ae7928335833f3e3f777251f38aab071 Mon Sep 17 00:00:00 2001 From: Pierre-Anthony Lemieux Date: Tue, 10 Jun 2025 18:35:18 -0700 Subject: [PATCH 04/14] Fix CI --- .github/workflows/main.yml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a2497f2..db7aaf2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -26,11 +26,15 @@ jobs: with: path: build/ - - uses: fifsky/html-to-pdf-action@master - if: github.event_name == 'pull_request' - with: - htmlFile: build/index.html - outputFile: build/register.pdf + artifact: + runs-on: ubuntu-latest + needs: build + if: github.event_name == 'pull_request' + steps: + - uses: markwilson/html2pdf@v1.0 + with: + htmlPath: build/index.html + pdfName: build/register.pdf - name: Upload the PDF as an artifact if: github.event_name == 'pull_request' From e1c29af701799c8af031464ca6af994364136735 Mon Sep 17 00:00:00 2001 From: Pierre-Anthony Lemieux Date: Tue, 10 Jun 2025 19:13:42 -0700 Subject: [PATCH 05/14] Fix CI --- .github/workflows/main.yml | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index db7aaf2..e3a385f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -36,20 +36,18 @@ jobs: htmlPath: build/index.html pdfName: build/register.pdf - - name: Upload the PDF as an artifact - if: github.event_name == 'pull_request' - id: pdf-artifact - uses: actions/upload-artifact@v4 - with: - name: register - path: build/register.pdf - - - name: Add artifact links to the pull request - if: github.event_name == 'pull_request' - uses: marocchino/sticky-pull-request-comment@v2 - with: - message: | - Rendered register: <${{ steps.pdf-artifact.outputs.artifact-url}}> + - name: Upload the PDF as an artifact + id: pdf-artifact + uses: actions/upload-artifact@v4 + with: + name: register + path: build/register.pdf + + - name: Add artifact links to the pull request + uses: marocchino/sticky-pull-request-comment@v2 + with: + message: | + Rendered register: <${{ steps.pdf-artifact.outputs.artifact-url}}> deploy: if: github.ref_name == github.event.repository.default_branch From 066e695ebd6cbc3fedf6e0788fe996b1b9d75583 Mon Sep 17 00:00:00 2001 From: Pierre-Anthony Lemieux Date: Tue, 10 Jun 2025 19:21:59 -0700 Subject: [PATCH 06/14] Fix CI --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e3a385f..89a773c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -34,7 +34,7 @@ jobs: - uses: markwilson/html2pdf@v1.0 with: htmlPath: build/index.html - pdfName: build/register.pdf + pdfName: build/register - name: Upload the PDF as an artifact id: pdf-artifact From b3dcb8eecf85ea0aa1d2e899fc31edb97edb2f0b Mon Sep 17 00:00:00 2001 From: Pierre-Anthony Lemieux Date: Tue, 10 Jun 2025 19:34:51 -0700 Subject: [PATCH 07/14] Fix CI --- .github/workflows/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 89a773c..faf8754 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -31,10 +31,10 @@ jobs: needs: build if: github.event_name == 'pull_request' steps: - - uses: markwilson/html2pdf@v1.0 + - uses: ferdinandkeller/html-to-pdf-action@v2 with: - htmlPath: build/index.html - pdfName: build/register + - source-path: build/index.html + - destination-path: build/register.pdf - name: Upload the PDF as an artifact id: pdf-artifact From e631fa426b85c735ea09d85c20707c27128aab6d Mon Sep 17 00:00:00 2001 From: Pierre-Anthony Lemieux Date: Tue, 10 Jun 2025 19:36:09 -0700 Subject: [PATCH 08/14] Fix CI --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index faf8754..d3d28f4 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -33,8 +33,8 @@ jobs: steps: - uses: ferdinandkeller/html-to-pdf-action@v2 with: - - source-path: build/index.html - - destination-path: build/register.pdf + source-path: build/index.html + destination-path: build/register.pdf - name: Upload the PDF as an artifact id: pdf-artifact From e6c1dbf7c1b0257c899ca11896a1e80055e0bc4c Mon Sep 17 00:00:00 2001 From: Pierre-Anthony Lemieux Date: Tue, 10 Jun 2025 19:40:05 -0700 Subject: [PATCH 09/14] Fix CI --- .github/workflows/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d3d28f4..87a9c29 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -31,10 +31,10 @@ jobs: needs: build if: github.event_name == 'pull_request' steps: - - uses: ferdinandkeller/html-to-pdf-action@v2 + - uses: fifsky/html-to-pdf-action@master with: - source-path: build/index.html - destination-path: build/register.pdf + htmlFile: ./build/index.html + outputFile: ./build/register.pdf - name: Upload the PDF as an artifact id: pdf-artifact From 8087ca50a19f39f8d04d1e3bfebfe340f089c2a4 Mon Sep 17 00:00:00 2001 From: Pierre-Anthony Lemieux Date: Tue, 10 Jun 2025 19:41:13 -0700 Subject: [PATCH 10/14] Fix CI --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 87a9c29..b0f9b62 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -34,14 +34,14 @@ jobs: - uses: fifsky/html-to-pdf-action@master with: htmlFile: ./build/index.html - outputFile: ./build/register.pdf + outputFile: register.pdf - name: Upload the PDF as an artifact id: pdf-artifact uses: actions/upload-artifact@v4 with: name: register - path: build/register.pdf + path: register.pdf - name: Add artifact links to the pull request uses: marocchino/sticky-pull-request-comment@v2 From 7ee33cab4956448f350078e1a490d7f265307b69 Mon Sep 17 00:00:00 2001 From: Pierre-Anthony Lemieux Date: Tue, 10 Jun 2025 19:51:55 -0700 Subject: [PATCH 11/14] Fix CI --- .github/workflows/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b0f9b62..34107b8 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -31,9 +31,10 @@ jobs: needs: build if: github.event_name == 'pull_request' steps: + - uses: actions/download-artifact@v4 - uses: fifsky/html-to-pdf-action@master with: - htmlFile: ./build/index.html + htmlFile: build/index.html outputFile: register.pdf - name: Upload the PDF as an artifact From a0b8c1b7fbd66561062b23fd484253b604f3bf8a Mon Sep 17 00:00:00 2001 From: Pierre-Anthony Lemieux Date: Tue, 10 Jun 2025 20:25:36 -0700 Subject: [PATCH 12/14] Fix CI --- .github/workflows/main.yml | 40 +++++++++++++++++--------------------- 1 file changed, 18 insertions(+), 22 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 34107b8..9da7a8d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -26,29 +26,25 @@ jobs: with: path: build/ - artifact: - runs-on: ubuntu-latest - needs: build - if: github.event_name == 'pull_request' - steps: - - uses: actions/download-artifact@v4 - - uses: fifsky/html-to-pdf-action@master - with: - htmlFile: build/index.html - outputFile: register.pdf + - uses: fifsky/html-to-pdf-action@master + if: github.event_name == 'pull_request' + with: + htmlFile: build/index.html + outputFile: build/register.pdf - - name: Upload the PDF as an artifact - id: pdf-artifact - uses: actions/upload-artifact@v4 - with: - name: register - path: register.pdf - - - name: Add artifact links to the pull request - uses: marocchino/sticky-pull-request-comment@v2 - with: - message: | - Rendered register: <${{ steps.pdf-artifact.outputs.artifact-url}}> + - name: Upload the PDF as an artifact + if: github.event_name == 'pull_request' + id: pdf-artifact + uses: actions/upload-artifact@v4 + with: + name: register + path: build/register.pdf + + - name: Add artifact links to the pull request + uses: marocchino/sticky-pull-request-comment@v2 + with: + message: | + Rendered register: <${{ steps.pdf-artifact.outputs.artifact-url}}> deploy: if: github.ref_name == github.event.repository.default_branch From 79ecf508aa1ebdb105a85c4c4f9b59f3aa4827ec Mon Sep 17 00:00:00 2001 From: Pierre-Anthony Lemieux Date: Tue, 10 Jun 2025 20:25:51 -0700 Subject: [PATCH 13/14] Fix CI --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9da7a8d..a2497f2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -41,6 +41,7 @@ jobs: path: build/register.pdf - name: Add artifact links to the pull request + if: github.event_name == 'pull_request' uses: marocchino/sticky-pull-request-comment@v2 with: message: | From 879467e11569f98248ccaaacb65c9cd6b43485d3 Mon Sep 17 00:00:00 2001 From: Michael Smith Date: Fri, 13 Jun 2025 19:29:55 -0700 Subject: [PATCH 14/14] address feedback based on group discussion during 2025-06-11 IMFUG call --- src/main/data/cpl-marker-labels.json | 52 ++++++++-------------------- 1 file changed, 14 insertions(+), 38 deletions(-) diff --git a/src/main/data/cpl-marker-labels.json b/src/main/data/cpl-marker-labels.json index c52053a..ea4638f 100644 --- a/src/main/data/cpl-marker-labels.json +++ b/src/main/data/cpl-marker-labels.json @@ -583,27 +583,27 @@ "authority": "IMF UG" }, { - "label": "FFTease", + "label": "FFPromo", "scope": "https://www.imfug.com/ns/cpl-markers/2025", "seeAlso": [ { "scope": "https://www.imfug.com/ns/cpl-markers/2025", - "label": "LFTease" + "label": "LFPromo" } ], - "description": "First Frame of Tease – A tease or other advertisement for an episode, season, series/show, or other work. This applies to recaps leadin or trailing teases rather than standalone recaps.", + "description": "First Frame of Promotion – promotional material associated with media. This includes teasers, trailers, electronic press kits and other materials.", "authority": "IMF UG" }, { - "label": "LFTease", + "label": "LFPromo", "scope": "https://www.imfug.com/ns/cpl-markers/2025", "seeAlso": [ { "scope": "https://www.imfug.com/ns/cpl-markers/2025", - "label": "FFTease" + "label": "FFPromo" } ], - "description": "Last Frame of Tease – A tease or other advertisement for an episode, season, series/show, or other work. This applies to recaps leadin or trailing teases rather than standalone recaps.", + "description": "Last Frame of Promotion – promotional material associated with media. This includes teasers, trailers, electronic press kits and other materials.", "authority": "IMF UG" }, { @@ -615,7 +615,7 @@ "label": "LFAd" } ], - "description": "First Frame of Ad – An advertisement other than Tease", + "description": "First Frame of Ad – any form of advertisement including TV commercials, informercials, and public service announcements.", "authority": "IMF UG" }, { @@ -627,7 +627,7 @@ "label": "FFAd" } ], - "description": "Last Frame of Ad – An advertisement other than Tease", + "description": "Last Frame of Ad – any form of advertisement including TV commercials, informercials, and public service announcements.", "authority": "IMF UG" }, { @@ -775,51 +775,27 @@ "authority": "IMF UG" }, { - "label": "FFLS", + "label": "FFPictureLocal", "scope": "https://www.imfug.com/ns/cpl-markers/2025", "seeAlso": [ { "scope": "https://www.imfug.com/ns/cpl-markers/2025", - "label": "LFLS" + "label": "LFPictureLocal" } ], - "description": "First Frame of First/Last frame of Localization Sequence/Segement/Shot that contains any video that is localized", + "description": "First frame of Localization Sequence/Segement/Shot that contain any images that are localized", "authority": "IMF UG" }, { - "label": "LFLS", + "label": "LFPictureLocal", "scope": "https://www.imfug.com/ns/cpl-markers/2025", "seeAlso": [ { "scope": "https://www.imfug.com/ns/cpl-markers/2025", - "label": "FFLS" + "label": "FFPictureLocal" } ], - "description": "First Frame of First/Last frame of Localization Sequence/Segement/Shot that contains any video that is localized", - "authority": "IMF UG" - }, - { - "label": "FFOT", - "scope": "https://www.imfug.com/ns/cpl-markers/2025", - "seeAlso": [ - { - "scope": "https://www.imfug.com/ns/cpl-markers/2025", - "label": "LFOT" - } - ], - "description": "First Frame of First/Last frame of Tag that contains any sequence of credit content (mark-in/mark-out for credit sequence(tag))", - "authority": "IMF UG" - }, - { - "label": "LFOT", - "scope": "https://www.imfug.com/ns/cpl-markers/2025", - "seeAlso": [ - { - "scope": "https://www.imfug.com/ns/cpl-markers/2025", - "label": "FFOT" - } - ], - "description": "First Frame of First/Last frame of Tag that contains any sequence of credit content (mark-in/mark-out for credit sequence(tag))", + "description": "Last frame of Localization Sequence/Segement/Shot that contain any images that are localized", "authority": "IMF UG" }, {