Skip to content

Fork of Sofie MOS Connection: A Part of the Sofie TV Studio Automation System

License

Notifications You must be signed in to change notification settings

bbc/sofie-mos-connection

 
 

Repository files navigation

Sofie MOS-Connection

Tests codecov Quality Gate Status

This is the MOS-Connection library of the Sofie TV Automation System, used for connecting to a MOS device using the MOS Protocol.

General Sofie System Information


Getting Started

Installation

npm install @mos-connection/connector
or
yarn add @mos-connection/connector

Usage

See more examples in the examples folder!

import { MosConnection } from '@mos-connection/connector'

let mos = new MosConnection(new ConnectionConfig({
	mosID: 'my.mos.application',
	acceptsConnections: true,
	profiles: {
		'0': true,
        '1': true,
        '2': true,
        '4': true
	},
	openRelay: true
	debug: false
}))
mos.onConnection((device: MosDevice) => { // called whenever there is a new connection to a mos-device
	if (device.hasConnection) { // true if we can send messages to the mos-server
	    device.getMachineInfo().then((lm) => {
			console.log('Machineinfo', lm)
		})
	}
	// Setup callbacks to pipe data:
	device.onRequestMachineInfo(() => {})
	device.onCreateRunningOrder((ro) => {})
	device.onDeleteRunningOrder((RunningOrderID: MosString128) => {})
	device.onReadyToAir(() => {})
	// ...
})

Quick-MOS

"Quick-MOS" is a simple MOS application that can be used to test the MOS-connection library.

It reads data-files from disk and pretends to be an NRCS, so you can connect other MOS-clients to it.

See Quick-MOS for more information.

MOS Support

The MOS-Connection library currently supports the MOS Protocol version 2.8.5.

Supported MOS Profiles

Profile Status
Profile 0 Implemented
Profile 1 Implemented
Profile 2 Implemented
Profile 3 Implemented
Profile 4 Implemented
Profile 5 Not implemented (yet)
Profile 6 Not implemented (yet)
Profile 7 Not implemented (yet)

Pull Requests for the remaining profiles would be happily accepted!

Packages

MOS-Connection consists of 3 packages:

  • @mos-connection/connector is a Node.js library is used to connect to MOS devices or act as a MOS Server/NCS. The helper and model functionality is included in this library as well.
  • @mos-connection/helper is a library that provides various functions useful for those that prepare/handle data that will be sent to (or has been received by) the MOS-connection. The model functionality is included in this library as well.
  • @mos-connection/model is a library that contains types and enums, useful for applications that handles MOS-data.

There is also a helper application quickMos designed to be a minimal mock MOS server for testing client applications.


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.

About

Fork of Sofie MOS Connection: A Part of the Sofie TV Studio Automation System

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 99.1%
  • Other 0.9%