All Projects → nrkno → sofie-mos-connection

nrkno / sofie-mos-connection

Licence: MIT license
Sofie: The Modern TV News Studio Automation System (MOS Connection library)

Programming Languages

typescript
32286 projects

Labels

Projects that are alternatives of or similar to sofie-mos-connection

sofie-playout-gateway
Sofie: The Modern TV News Studio Automation System (Playout Gateway)
Stars: ✭ 15 (+15.38%)
Mutual labels:  sofie
Hackintosh-OpenCore-EFI-Dell-Inspiron-5559
Hackintosh (OpenCore) Dell Inspiron 15 5559 i7 6500u | Tested on Bigsur, Catalina
Stars: ✭ 18 (+38.46%)
Mutual labels:  mos
sofie-core
Sofie: The Modern TV News Studio Automation System (Server Core)
Stars: ✭ 70 (+438.46%)
Mutual labels:  sofie
supertimeline
A collection of rules as well as a resolver for placing objects on a virtual timeline.
Stars: ✭ 16 (+23.08%)
Mutual labels:  sofie
sofie-casparcg-launcher
Sofie: The Modern TV News Studio Automation System (launcher for the CasparCG Server process)
Stars: ✭ 18 (+38.46%)
Mutual labels:  sofie

MOS-Connection

A part of Sofie: The Modern TV News Studio Automation System

Tests codecov

Library for connecting to a MOS device using the MOS Protocol.

This is a part of the Sofie TV News Studio Automation System.

Getting started

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(() => {})
	// ...
})

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.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].