nrkno / sofie-hyperdeck-connection

Sofie HyperDeck Connection: A Part of the Sofie TV Studio Automation System
https://github.com/nrkno/Sofie-TV-automation/
MIT License
5 stars 9 forks source link
blackmagicdesign hyperdeck protocol sofie

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

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

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.