description |
---|
Source Code for the Sofie System |
The Sofie TV Automation system consists of the Sofie Server Core which is the core application that serves the web GUI and handles the core logic.
Together with the Server Core there are several gateways which are separate applications, but which connect to Server Core and are managed from within the Core's web UI.
- ****Input Gateway (Work in progress)
- MOS Gateway ****Connects Sofie to a newsroom system and ingests rundowns via the MOS protocol.
- Spreadsheet Gateway ****Connects Sofie to a Google-Drive folder and ingests rundowns from spreadsheets.
- Playout Gateway ****Handles the playout from Sofie. Connects to and controls a multitude of devices, such as vision mixers, graphics, light controllers, audio mixers etc..
- ****Quantel Gateway ****CORBA to REST gateway for Quantel/ISA playback.
There are a number of libraries used in the Sofie ecosystem:
- ATEM Connection ****Library for communicating with Blackmagic Design ATEM mixers
- ATEM State Used in TSR to tracks the state of ATEM:s and generate commands to control them.
- CasparCG Connection **developed by **SuperFly.tv ****Library to connect and interact with CasparCG Servers.
- CasparCG State **developed by **SuperFly.tv ****Used in TSR to tracks the state of CasparCG Servers and generate commands to control them.
- Ember+ Connection ****Library to communicate with Ember+ control protocol
- HyperDeck Connection Library for connecting to Blackmagic Design Hyperdeck recorders.
- MOS Connection ****A MOS protocol library for acting as a MOS device and connecting to an newsroom control system.
- ****Quantel Gateway Client An interface that talks to the Quantel-Gateway application.
- Server Core Integration ****Used to connect to the Sofie Server Core by the Gateways.
- Sofie Blueprints Integration Common types and interfaces used by both Sofie Server Core and the user-defined blueprints.
- SuperFly-Timeline **developed by **SuperFly.tv ****Resolver and rules for placing objects on a virtual timeline.
- ThreadedClass developed by ****Nytamin Used in TSR to spawn device controllers in separate processes.
- Timeline State Resolver (TSR) ****The main driver in Playout Gateway, handles connections to playout-devices and sends commands based on a Timeline received from **Core**.
There are also a few typings-only libraries that define interfaces between applications:
- ****Blueprints integration Defines the interface between Blueprints and Sofie Core.
- Timeline State Resolver types Defines the interface between Blueprints ****and the timeline that will be fed into **TSR** for playout.
- CasparCG Server (NRK fork) Sofie-specific fork of CasparCG Server.
- CasparCG Launcher Launcher, controller, and logger for CasparCG Server.
- CasparCG Media Scanner (NRK fork) Sofie-specific fork of CasparCG Server 2.2 Media Scanner.
- Media Manager ****Handles media transfer and media file management for pulling new files and deleting expired files on playout devices.
- ****Quantel Browser plugin MOS-compatible Quantel video clip browser for use with Sofie.
- ****Sisyfos Audio Controller **developed by **olzzon