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
Copy file name to clipboardExpand all lines: packages/documentation/docs/for-developers/for-blueprint-developers/intro.md
+19-2Lines changed: 19 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,13 +8,30 @@ sidebar_position: 1
8
8
Documentation for this page is yet to be written.
9
9
:::
10
10
11
-
[Blueprints](../../user-guide/concepts-and-architecture.md#blueprints) are programs that run inside Sofie Core and interpret
12
-
data coming in from the Rundowns and transform that into playable elements. They use an API published in [@sofie-automation/blueprints-integration](https://sofie-automation.github.io/sofie-core/typedoc/modules/_sofie_automation_blueprints_integration.html) library to expose their functionality and communicate with Sofie Core.
11
+
[Blueprints](../../user-guide/concepts-and-architecture.md#blueprints) are JavaScript programs that run inside Sofie Core and interpret data coming in from the Rundowns and transform that into playable elements. They use an API published in [@sofie-automation/blueprints-integration](https://sofie-automation.github.io/sofie-core/typedoc/modules/_sofie_automation_blueprints_integration.html)[TypeScript](https://www.typescriptlang.org/) library to expose their functionality and communicate with Sofie Core.
13
12
14
13
Technically, a Blueprint is a JavaScript object, implementing one of the `BlueprintManifestBase` interfaces.
15
14
15
+
Sofie doesn't have a built-in package manager or import, so all dependencies need to be bundled into a single `*.js` file bundle using a bundler such as [Rollup](https://rollupjs.org/) or [webpack](https://webpack.js.org/). The community has built a set of utilities called [SuperFlyTV/sofie-blueprint-tools](https://github.com/SuperFlyTV/sofie-blueprint-tools/) that acts as a nascent framework for building & bundling Blueprints written in TypeScript.
16
+
17
+
:::info
18
+
Note that the Runtime Environment for Blueprints in Sofie is plain JavaScript at [ES2015 level](https://en.wikipedia.org/wiki/ECMAScript_version_history#6th_edition_%E2%80%93_ECMAScript_2015), so other ways of building Blueprints are also possible.
19
+
:::
20
+
16
21
Currently, there are three types of Blueprints:
17
22
18
23
-[Show Style Blueprints](https://sofie-automation.github.io/sofie-core/typedoc/interfaces/_sofie_automation_blueprints_integration.ShowStyleBlueprintManifest.html) - handling converting NRCS Rundown data into Sofie Rundowns and content.
19
24
-[Studio Blueprints](https://sofie-automation.github.io/sofie-core/typedoc/interfaces/_sofie_automation_blueprints_integration.StudioBlueprintManifest.html) - handling selecting ShowStyles for a given NRCS Rundown and assigning NRCS Rundowns to Sofie Playlists
20
25
-[System Blueprints](https://sofie-automation.github.io/sofie-core/typedoc/interfaces/_sofie_automation_blueprints_integration.SystemBlueprintManifest.html) - handling system provisioning and global configuration
26
+
27
+
# Show Style Blueprints
28
+
29
+
These blueprints interpret the data coming from the [NRCS](./installing-a-gateway/rundown-or-newsroom-system-connection/intro.md), meaning that they need to support the particular data structures that a given Ingest Gateway uses to store incoming data from the Rundown editor. They will need to convert Rundown Pages, Cues, Items, pieces of show script and other types of objects into [Sofie concepts](../concepts-and-architecture.md) such as Segments, Parts, Pieces and AdLibs.
30
+
31
+
# Studio Blueprints
32
+
33
+
These blueprints provide a "baseline" Timeline that is being used by your Studio whenever there isn't a Rundown active. They also handle combining Rundowns into RundownPlaylists. Via the [`applyConfig`](https://sofie-automation.github.io/sofie-core/typedoc/interfaces/_sofie-automation_blueprints-integration.StudioBlueprintManifest.html#applyconfig) method, these Blueprints enable a _Configuration-as-Code_ approach to configuring connections to various elements of your Control Room and Studio.
34
+
35
+
# System Blueprints
36
+
37
+
These blueprints exist to allow a _Configuration-as-Code_ approach to an entire Sofie system. This is done via the [`applyConfig`](https://sofie-automation.github.io/sofie-core/typedoc/interfaces/_sofie-automation_blueprints-integration.SystemBlueprintManifest.html#applyconfig) providing personality information such as global system configuraiton or system-wide HotKeys via the Blueprints.
Copy file name to clipboardExpand all lines: packages/documentation/docs/user-guide/configuration/settings-view.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -167,7 +167,7 @@ Clicking on the action and filter pills allows you to edit the action parameters
167
167
168
168
##### Shift Registers
169
169
170
-
Shift Register modification actions are a special type of an Action, that modifies an internal state memory of the [Input Gateway](../installation/installing-input-gateway.md) and allows combination triggers, pagination, etc. on devices that don't natively support them or combining multiple devices into a single Control Surface. Refer to _Input Gateway_ documentation for more information on Shift Registers.
170
+
Shift Register modification actions are a special type of an Action, that modifies an internal state memory of the [Input Gateway](../installation/installing-a-gateway/installing-input-gateway.md) and allows combination triggers, pagination, etc. on devices that don't natively support them or combining multiple devices into a single Control Surface. Refer to _Input Gateway_ documentation for more information on Shift Registers.
171
171
172
172
Shift Register actions have no effect in the browser, triggered from a _Hotkey_.
Copy file name to clipboardExpand all lines: packages/documentation/docs/user-guide/installation/installing-a-gateway/installing-input-gateway.md
+9-1Lines changed: 9 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,7 @@
1
+
---
2
+
sidebar_position: 40
3
+
---
4
+
1
5
# Input Gateway
2
6
3
7
The Input Gateway handles control devices that are not capable of running a Web Browser. This allows Sofie to integrate directly with devices such as: Hardware Panels, GPI input, MIDI devices and external systems being able to send an HTTP Request.
Input Gateway supports the concept of _Shift Registers_. A Shift Register is an internal variable/state that can be modified using Actions, from within [Action Triggers](../configuration/settings-view.md#actions). This allows for things such as pagination, _Hold Shift + Another Button_ scenarios, and others on input devices that don't support these features natively. _Shift Registers_ are also global for all devices attached to a single Input Gateway. This allows combining multiple Input devices into a single Control Surface.
38
+
Input Gateway supports the concept of _Shift Registers_. A Shift Register is an internal variable/state that can be modified using Actions, from within [Action Triggers](../../configuration/settings-view.md#actions). This allows for things such as pagination, _Hold Shift + Another Button_ scenarios, and others on input devices that don't support these features natively. _Shift Registers_ are also global for all devices attached to a single Input Gateway. This allows combining multiple Input devices into a single Control Surface.
35
39
36
40
When one of the _Shift Registers_ is set to a value other than `0` (their default state), all triggers sent from that Input Gateway become prefixed with a serialized state of the state registers, making the combination of a _Shift Registers_ state and a trigger unique.
37
41
38
42
If you would like to have the same trigger cause the same action in various Shift Register states, add multiple Triggers to the same Action, with different Shift Register combinations.
39
43
40
44
Input Gateway supports an unlimited number of Shift Registers, Shift Register numbering starts at 0.
41
45
46
+
### AdLib Tally
47
+
48
+
49
+
42
50
### Further Reading
43
51
44
52
-[Input Gateway Releases on GitHub](https://github.com/Sofie-Automation/sofie-input-gateway/releases)
Copy file name to clipboardExpand all lines: packages/documentation/docs/user-guide/installation/installing-a-gateway/intro.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,20 +1,20 @@
1
1
---
2
2
sidebar_label: Introduction
3
-
sidebar_position: 1
3
+
sidebar_position: 10
4
4
---
5
5
# Introduction: Installing a Gateway
6
6
7
7
#### Prerequisites
8
8
9
9
*[Installed and running Sofie Core](../installing-sofie-server-core.md)
10
10
11
-
The _Sofie Core_ is the primary application for managing the broadcast, but it doesn't play anything out on it's own. A Gateway will establish the connection from _Sofie Core_ to other pieces of hardware or remote software. A basic setup may include the [Spreadsheet Gateway](rundown-or-newsroom-system-connection/installing-sofie-with-google-spreadsheet-support.md) which will ingest a rundown from Google Sheets then, use the [Playout Gateway](playout-gateway.md) send commands to a CasparCG Server graphics playout, an ATEM vision mixer, and / or the [Sisyfos audio controller](https://github.com/olzzon/sisyfos-audio-controller).
11
+
The _Sofie Core_ is the primary application for managing the broadcast, but it doesn't play anything out on it's own. A Gateway will establish the connection from _Sofie Core_ to other pieces of hardware or remote software. A basic setup may include the [Spreadsheet Gateway](rundown-or-newsroom-system-connection/google-spreadsheet.md) which will ingest a rundown from Google Sheets then, use the [Playout Gateway](playout-gateway.md) send commands to a CasparCG Server graphics playout, an ATEM vision mixer, and / or the [Sisyfos audio controller](https://github.com/olzzon/sisyfos-audio-controller).
12
12
13
13
Installing a gateway is a two part process. To begin, you will [add the required Blueprints](../installing-blueprints.md), or mini plug-in programs, to _Sofie Core_ so it can manipulate the data from the Gateway. Then you will install the Gateway itself. Each Gateway follows a similar installation pattern but, each one does differ slightly. The links below will help you navigate to the correct Gateway for the piece of hardware / software you are using.
Copy file name to clipboardExpand all lines: packages/documentation/docs/user-guide/installation/installing-a-gateway/rundown-or-newsroom-system-connection/intro.md
+6-2Lines changed: 6 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,9 +3,13 @@ sidebar_position: 1
3
3
---
4
4
# Rundown & Newsroom Systems
5
5
6
-
Sofie Core doesn't talk directly to the newsroom systems, but instead via one of the Gateways.
6
+
NewsRoom Computer Systems (NRCS) are sofware suites that manage various parts of news production. Many of these systems support some sort of Rundown creation module that allows authoring live show Rundowns by organizing them into units and sub-units such as Pages, Items, Cues, etc.
7
7
8
-
The Google Spreadsheet Gateway, iNEWS Gateway, and the MOS \([Media Object Server Communications Protocol](http://mosprotocol.com/)\) Gateway which can handle interacting with any system that communicates via MOS.
8
+
Sofie Core doesn't talk directly to the newsroom systems, but instead via one of the Ingest Gateways. The purpose of these Gateways is to act as adapters for the various protocols used by these systems, while keeping as much fidelity as possible in the incoming data.
9
+
10
+
Some of the currently available options in the Sofie ecosystem include Google Docs Spreadsheet Gateway, iNEWS Gateway, and the MOS Gateway which can handle interacting with any system that communicates via MOS \([Media Object Server Communications Protocol](http://mosprotocol.com/)\).
11
+
12
+
[Rundown Editor](../../rundown-editor.md) is a special case of an Ingest Gateway that acts as a simple Rundown Editor itself.
Copy file name to clipboardExpand all lines: packages/documentation/docs/user-guide/installation/installing-blueprints.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
---
2
-
sidebar_position: 4
2
+
sidebar_position: 40
3
3
---
4
4
5
5
# Installing Blueprints
@@ -11,7 +11,7 @@ sidebar_position: 4
11
11
12
12
Blueprints are little plug-in programs that runs inside _Sofie_. They are the logic that determines how _Sofie_ interacts with rundowns, hardware, and media.
13
13
14
-
Blueprints are custom scripts that you create yourself \(or download an existing one\). There are a set of example Blueprints for the Spreadsheet Gateway available for use here: [https://github.com/SuperFlyTV/sofie-demo-blueprints](https://github.com/SuperFlyTV/sofie-demo-blueprints).
14
+
Blueprints are custom JavaScript scripts that you create yourself \(or download an existing one\). There are a set of example Blueprints for the Spreadsheet Gateway and Rundown Editor available for use here: [https://github.com/SuperFlyTV/sofie-demo-blueprints](https://github.com/SuperFlyTV/sofie-demo-blueprints). You can learn more about them in the [Blueprints section](../../for-developers/for-blueprint-developers/intro.md)
15
15
16
16
To begin installing any Blueprint, navigate to the _Settings page_. Getting there is covered in the [Access Levels](../features/access-levels.md) page.
17
17
@@ -25,21 +25,21 @@ There are 3 types of blueprints: System, Studio and Show Style:
25
25
26
26
_System Blueprints handles some basic functionality on how the Sofie system will operate._
27
27
28
-
After you've uploaded the your system-blueprint js-file, click _Assign_ in the blueprint-page to assign it as system-blueprint.
28
+
After you've uploaded the your system-blueprint JS bundle, click _Assign_ in the blueprint-page to assign it as system-blueprint.
29
29
30
30
### Studio Blueprint
31
31
32
32
_Studio Blueprints determine how Sofie will interact with the hardware in your studio._
33
33
34
-
After you've uploaded the your studio-blueprint js-file, navigate to a Studio in the settings and assign the new Blueprint to it \(under the label _Blueprint_\).
34
+
After you've uploaded the your studio-blueprint JS bundle, navigate to a Studio in the settings and assign the new Blueprint to it \(under the label _Blueprint_\).
35
35
36
36
After having installed the Blueprint, the Studio's baseline will need to be reloaded. On the Studio page, click the button _Reload Baseline_. This will also be needed whenever you have changed any settings.
37
37
38
38
### Show Style Blueprint
39
39
40
40
_Show Style Blueprints determine how your show will look / feel._
41
41
42
-
After you've uploaded the your show-style-blueprint js-file, navigate to a Show Style in the settings and assign the new Blueprint to it \(under the label _Blueprint_\).
42
+
After you've uploaded your show-style-blueprint JS bundle, navigate to a Show Style in the settings and assign the new Blueprint to it \(under the label _Blueprint_\).
0 commit comments