Skip to content

nrkno/sofie-hyperdeck-connection

Repository files navigation

Sofie HyperDeck Connection Library

CircleCI codecov

This is the HyperDeck Connection library of the Sofie TV Automation System, used for connecting to Blackmagic Design's HyperDeck devices.

General Sofie System Information


Technology Highlights

  • Typescript
  • Yarn
  • Jeststandard-version
  • codecov

Installation

For usage by library consumers installation is as easy as:

yarn add hyperdeck-connection

For library developers installation steps are as following:

git clone https://github.com/nrkno/tv-automation-hyperdeck-connection
yarn
yarn build

If you want to make a contribution, feel free to open a PR.

Usage

const { Hyperdeck, Commands } = require('hyperdeck-connection')
const myHyperdeck = new Hyperdeck()

myHyperdeck.connect('192.168.168.100')

myHyperdeck.on('connected', (info) => {
	console.log(info)
	// ConnectionInfoResponse {
	//  protocolVersion: 1.6,
	//  model:
	// }

	myHyperdeck.sendCommand(new Commands.RecordCommand('some_filename')).then(() => {
		console.log('recording')
	})

	myHyperdeck.sendCommand(new Commands.TransportInfoCommand()).then((transportInfo) => {
		console.log(transportInfo)
	})
})

myHyperdeck.on('notify.slot', function (err, state) {
	console.log(state) // catch the slot state change.
})
myHyperdeck.on('notify.transport', function (err, state) {
	console.log(state) // catch the transport state change.
})
myHyperdeck.on('error', (err) => {
	console.log('Hyperdeck error', err)
})

Events

  • connected This event will be fired once we have connected with the hyperdeck.

  • disconnected Whenever the connection is lost. connected may be fired against shortly after if the connection is restored

Test

This module will run tests by jest.

$ yarn unit

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.