From e175c7eb82e72c3416ecac830b04446cd97b8939 Mon Sep 17 00:00:00 2001 From: Jonas Hummelstrand Date: Wed, 22 Nov 2023 17:18:48 +0100 Subject: [PATCH 01/13] Update CONTRIBUTING.md and README.md --- CONTRIBUTING.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..b893ada57 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,12 @@ +# How to Contribute to this Repository + +Before contributing to this specific repository, please read the [Contribution Guidelines](https://nrkno.github.io/sofie-core/docs/for-developers/contribution-guidelines) for the Sofie project. + + +## Branches +This repository uses the following branches: + +* **_master_** is our main branch. We consider it stable and it is used in production. +* The **_releaseXX_** branches are our in-development branches. When a release is ready, we decide to “freeze” that branch and create a new **_releaseXX+1_** branch. + +We encourage you to base your contributions on the latest **releaseXX** branch, alternatively the **master** branch or a recently frozen **releaseXX** branch. The [Sofie Releases](https://nrkno.github.io/sofie-core/releases) page collects the status and timeline of the releases. From 562a55cef1a58ebbdabc3b60cb2c7fdc5885b70f Mon Sep 17 00:00:00 2001 From: Jonas Hummelstrand Date: Wed, 22 Nov 2023 18:08:50 +0100 Subject: [PATCH 02/13] Update README.md --- README.md | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 675692b35..af6f49b46 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,21 @@ -# Sofie: The Modern TV News Studio Automation System (Timeline State Resolver TSR library) - +# Sofie Timeline State Resolver (TSR) Library [![Node CI](https://github.com/nrkno/sofie-timeline-state-resolver/actions/workflows/node.yaml/badge.svg)](https://github.com/nrkno/sofie-timeline-state-resolver/actions/workflows/node.yaml) [![codecov](https://codecov.io/gh/nrkno/sofie-timeline-state-resolver/branch/master/graph/badge.svg)](https://codecov.io/gh/nrkno/sofie-timeline-state-resolver) -This is a part of the [**Sofie** TV News Studio Automation System](https://github.com/nrkno/Sofie-TV-automation/). +This is the _Timeline State Resolver (TSR)_ library, part of the [**Sofie** TV Automation System](https://github.com/nrkno/Sofie-TV-automation/). This library orchestrates and controls different devices. Its input is a [timeline](https://github.com/SuperFlyTV/supertimeline) data structure and a layer-to-device-map. +Using this input, it resolves the expected state, diffs the state against current state, and sends commands to devices where necessary. + +### Repository-specific Info for Developers +* [Developer Info](DEVELOPER.md) +* [Contribution Guidelines](CONTRIBUTING.md) -## Abstract +### General Sofie System Info +* [Documentation](https://nrkno.github.io/sofie-core/) +* [Releases](https://nrkno.github.io/sofie-core/releases) -This library orchestrates and controls different devices. -Its input is a [timeline](https://github.com/SuperFlyTV/supertimeline) data structure and a layer-to-device-map. -Using the input, it resolves the expected state, diffs the state against current state and sends commands to devices where necessary. +--- -## Supported devices +## Supported Devices - **[CasparCG](http://casparcg.com/)** - using the [casparcg-connection](https://github.com/SuperFlyTV/casparcg-connection) library - **Blackmagic Design ATEM** vision mixers - using the [atem-connection](https://github.com/nrkno/tv-automation-atem-connection) library @@ -50,6 +54,10 @@ Note, that your IDE may not pick up your new type definitions until you build th There is a test application [quick-tsr](/packages/quick-tsr) inside this repository which can be used to easily test changes made to this library. -### Working with types +### Working with Types Types that need to be consumed by external systems that have no need to interact with the TSR library itself should be written in the timeline-state-resolver-types package. Some types will be generated from JSON schemas, the schemas are composed under the $schemas subfolder in the specific integration's subfolder. (See the abstract integration for an example). The types can be generated with the `yarn generate-schema-types` command. The schemas themselves must be exported from the `src/manifests.ts` file, so they can be used by external systems to validate payloads and generate UI's. + +--- + +_The NRK logo is a registered trademark of Norsk rikskringkasting AS. The license does not grant any right to use, in any way, any trademarks, service marks or logos of Norsk rikskringkasting AS._ From 88e27876993c5b595e9cf58540dd58d8539402b0 Mon Sep 17 00:00:00 2001 From: Jonas Hummelstrand Date: Mon, 4 Dec 2023 13:00:02 +0100 Subject: [PATCH 03/13] Update PULL_REQUEST_TEMPLATE.md --- .github/PULL_REQUEST_TEMPLATE.md | 51 +++++++++++++++++++++++++++++--- 1 file changed, 47 insertions(+), 4 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index caae6b13d..92803e9d9 100755 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,13 +1,56 @@ -* **What kind of change does this PR introduce?** (Bug fix, feature, docs update, ...) + +## About the Contributor + -* **What is the current behavior?** (You can also link to an open issue here) +## Type of Contribution +This is a: + +Bug fix / Feature / Code improvement / Documentation improvement / Other (please specify) -* **What is the new behavior (if this is a feature change)?** +## Current Behavior + +## New Behavior + -* **Other information**: + +## Testing Instructions + + + +## Other Information + + + +## Status + + +- [ ] PR is ready to be reviewed. +- [ ] The functionality has been tested by the author. +- [ ] Relevant unit tests has been added / updated. +- [ ] Relevant documentation (code comments, [system documentation](https://nrkno.github.io/sofie-core/)) has been added / updated. From 6b66865f104536cb1c95ef7ed16e543e77a4eae1 Mon Sep 17 00:00:00 2001 From: Jonas Hummelstrand Date: Mon, 4 Dec 2023 13:49:10 +0100 Subject: [PATCH 04/13] Delete .github/ISSUE_TEMPLATE.md --- .github/ISSUE_TEMPLATE.md | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100755 .github/ISSUE_TEMPLATE.md diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100755 index 3b7c28f10..000000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,11 +0,0 @@ -* **I'm submitting a ...** -[ ] bug report -[ ] feature request -[ ] question about the decisions made in the repository -[ ] question about how to use this project - -* **Summary** - - - -* **Other information** (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. StackOverflow, personal fork, etc.) From eafbe3e3d858d35e7f0a0feabf6333b5f651bacf Mon Sep 17 00:00:00 2001 From: Jonas Hummelstrand Date: Mon, 4 Dec 2023 13:49:41 +0100 Subject: [PATCH 05/13] Create BUG_REPORT.md --- .github/ISSUE_TEMPLATE/BUG_REPORT.md | 38 ++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/BUG_REPORT.md diff --git a/.github/ISSUE_TEMPLATE/BUG_REPORT.md b/.github/ISSUE_TEMPLATE/BUG_REPORT.md new file mode 100644 index 000000000..56355ffce --- /dev/null +++ b/.github/ISSUE_TEMPLATE/BUG_REPORT.md @@ -0,0 +1,38 @@ +--- +name: Bug Report +description: Use this if you've found a bug +title: "Bug Report: [Short description of the bug]" +labels: 🐛bug +assignees: '' + +--- + + + +## About Me + + +## Observed Behavior + + +## Expected Behavior + + +## Version + + +## Severity / Impact + + + From a430dd756f28b83fa567b3d1aa7bb74c55521063 Mon Sep 17 00:00:00 2001 From: Jonas Hummelstrand Date: Mon, 4 Dec 2023 13:56:02 +0100 Subject: [PATCH 06/13] Create OTHER.md --- .github/ISSUE_TEMPLATE/OTHER.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/OTHER.md diff --git a/.github/ISSUE_TEMPLATE/OTHER.md b/.github/ISSUE_TEMPLATE/OTHER.md new file mode 100644 index 000000000..9b597cd7d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/OTHER.md @@ -0,0 +1,22 @@ +--- +name: Other Issue +description: Use this for other issues +title: "Other: [Short description of the issue]" +labels: "Other" +assignees: '' + +--- + + + +## About Me + + +## Issue + From b4ed991020221e29951faec6140677d1816db6fe Mon Sep 17 00:00:00 2001 From: Jonas Hummelstrand Date: Mon, 4 Dec 2023 14:02:40 +0100 Subject: [PATCH 07/13] Create QUESTION.md --- .github/ISSUE_TEMPLATE/QUESTION.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/QUESTION.md diff --git a/.github/ISSUE_TEMPLATE/QUESTION.md b/.github/ISSUE_TEMPLATE/QUESTION.md new file mode 100644 index 000000000..39d6f48fe --- /dev/null +++ b/.github/ISSUE_TEMPLATE/QUESTION.md @@ -0,0 +1,22 @@ +--- +name: Question +description: Use this if you have a question to the Sofie team +title: "Question: [Short summary of the question]" +labels: ❓ Question +assignees: '' + +--- + + + +## About Me + + +## My Question + From a0805cd3f4971d9f317ae9205913f398010aeee1 Mon Sep 17 00:00:00 2001 From: Jonas Hummelstrand Date: Mon, 4 Dec 2023 14:05:48 +0100 Subject: [PATCH 08/13] Create RFC.md --- .github/ISSUE_TEMPLATE/RFC.md | 46 +++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/RFC.md diff --git a/.github/ISSUE_TEMPLATE/RFC.md b/.github/ISSUE_TEMPLATE/RFC.md new file mode 100644 index 000000000..4cc485cd5 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/RFC.md @@ -0,0 +1,46 @@ +--- +name: Request for Comments +description: Use this to initiate a discussion about a new feature or a larger change +title: "RFC: [Short description of the feature/change]" +labels: RFC, Contribution +assignees: '' + +--- + + + +## About Me + + +## Background + + + +## Proposal + + + +## Status + + +The Sofie Team will evaluate this RFC and open up a discussion about it, usually within a week. + +- [x] RFC created +- [ ] Sofie Team has evaluated the RFC +- [ ] A workshop has been planned +- [ ] RFC has been discussed in a workshop +- [ ] A conclusion has been reached, see comments in thread. From 2f1a9726402283a252ee8e9f255b72aee6139605 Mon Sep 17 00:00:00 2001 From: Jonas Hummelstrand Date: Mon, 4 Dec 2023 14:28:09 +0100 Subject: [PATCH 09/13] Update LICENSE --- LICENSE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index 78f0f2dbb..f33d9dcf6 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License (MIT) -Copyright (c) 2018 Norsk rikskringkasting AS (NRK) +Copyright (c) 2023 Norsk rikskringkasting AS (NRK) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal From 34cd2017fa9ea370d4294bd90d530425ff7b8e8a Mon Sep 17 00:00:00 2001 From: Jonas Hummelstrand Date: Mon, 4 Dec 2023 14:37:31 +0100 Subject: [PATCH 10/13] Update README.md --- README.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index af6f49b46..851d66e51 100644 --- a/README.md +++ b/README.md @@ -5,13 +5,11 @@ This is the _Timeline State Resolver (TSR)_ library, part of the [**Sofie** TV Automation System](https://github.com/nrkno/Sofie-TV-automation/). This library orchestrates and controls different devices. Its input is a [timeline](https://github.com/SuperFlyTV/supertimeline) data structure and a layer-to-device-map. Using this input, it resolves the expected state, diffs the state against current state, and sends commands to devices where necessary. -### Repository-specific Info for Developers -* [Developer Info](DEVELOPER.md) -* [Contribution Guidelines](CONTRIBUTING.md) - -### General Sofie System Info +## General Sofie System Info * [Documentation](https://nrkno.github.io/sofie-core/) * [Releases](https://nrkno.github.io/sofie-core/releases) +* [Contribution Guidelines](CONTRIBUTING.md) +* [License](LICENSE) --- From 110a6634a9feee5925aa78f7c80f3636f9fc49c8 Mon Sep 17 00:00:00 2001 From: Jonas Hummelstrand Date: Mon, 4 Dec 2023 16:00:21 +0100 Subject: [PATCH 11/13] Update CONTRIBUTING.md --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b893ada57..831a4d0b3 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -9,4 +9,4 @@ This repository uses the following branches: * **_master_** is our main branch. We consider it stable and it is used in production. * The **_releaseXX_** branches are our in-development branches. When a release is ready, we decide to “freeze” that branch and create a new **_releaseXX+1_** branch. -We encourage you to base your contributions on the latest **releaseXX** branch, alternatively the **master** branch or a recently frozen **releaseXX** branch. The [Sofie Releases](https://nrkno.github.io/sofie-core/releases) page collects the status and timeline of the releases. +We encourage you to base your contributions on the latest **releaseXX** branch, alternatively the **master** branch or a recently frozen **releaseXX** branch. The [_Sofie Releases_](https://nrkno.github.io/sofie-core/releases) page collects the status and timeline of the releases. From f2c9769e213535fafe865555541a92dbab5f08df Mon Sep 17 00:00:00 2001 From: Jonas Hummelstrand Date: Mon, 4 Dec 2023 16:05:27 +0100 Subject: [PATCH 12/13] Update CONTRIBUTING.md --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 831a4d0b3..e8d30ac2e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -9,4 +9,4 @@ This repository uses the following branches: * **_master_** is our main branch. We consider it stable and it is used in production. * The **_releaseXX_** branches are our in-development branches. When a release is ready, we decide to “freeze” that branch and create a new **_releaseXX+1_** branch. -We encourage you to base your contributions on the latest **releaseXX** branch, alternatively the **master** branch or a recently frozen **releaseXX** branch. The [_Sofie Releases_](https://nrkno.github.io/sofie-core/releases) page collects the status and timeline of the releases. +We encourage you to base your contributions on the latest **_releaseXX_** branch, alternatively the **master** branch or a recently frozen **_releaseXX_** branch. The [_Sofie Releases_](https://nrkno.github.io/sofie-core/releases) page collects the status and timeline of the releases. From 30c659c8e0624bc195ccdb4bd01db9d77aac557c Mon Sep 17 00:00:00 2001 From: Jonas Hummelstrand Date: Mon, 4 Dec 2023 17:26:28 +0100 Subject: [PATCH 13/13] Update README.md --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 851d66e51..aed66e953 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,13 @@ -# Sofie Timeline State Resolver (TSR) Library +# Sofie Timeline State Resolver (TSR) [![Node CI](https://github.com/nrkno/sofie-timeline-state-resolver/actions/workflows/node.yaml/badge.svg)](https://github.com/nrkno/sofie-timeline-state-resolver/actions/workflows/node.yaml) [![codecov](https://codecov.io/gh/nrkno/sofie-timeline-state-resolver/branch/master/graph/badge.svg)](https://codecov.io/gh/nrkno/sofie-timeline-state-resolver) This is the _Timeline State Resolver (TSR)_ library, part of the [**Sofie** TV Automation System](https://github.com/nrkno/Sofie-TV-automation/). This library orchestrates and controls different devices. Its input is a [timeline](https://github.com/SuperFlyTV/supertimeline) data structure and a layer-to-device-map. Using this input, it resolves the expected state, diffs the state against current state, and sends commands to devices where necessary. -## General Sofie System Info -* [Documentation](https://nrkno.github.io/sofie-core/) -* [Releases](https://nrkno.github.io/sofie-core/releases) +## General Sofie System Information +* [_Sofie_ Documentation](https://nrkno.github.io/sofie-core/) +* [_Sofie_ Releases](https://nrkno.github.io/sofie-core/releases) * [Contribution Guidelines](CONTRIBUTING.md) * [License](LICENSE)