@atem-connection/camera-control
TypeScript icon, indicating that this package has built-in type declarations

0.1.0 • Public • Published

ATEM connection camera control - @atem-connection/camera-control

Node CI npm

Usage

This library can be used with atem-connection NPM Github, to provide a friendly interface for camera control.

Example:

import { Atem } from 'atem-connection'
import { AtemCameraControlDirectCommandSender, AtemCameraControlStateBuilder } from '@atem-connection/camera-control'

// Create the class which tracks the current state from the atem
const cameraControlState = new AtemCameraControlStateBuilder(4)

const atem = new Atem({})
atem.connect('10.0.0.1')

// Create the command sender. Alternatively `AtemCameraControlBatchCommandSender` can be used to be able to batch multiple commands to be sent once
const cameraControlSender = new AtemCameraControlDirectCommandSender(atem)

atem.on('connected', () => {
	console.log('connected')

	// Perform an autofocus of camera 1 after a short timeout
	setTimeout(() => {
		cameraControlSender.triggerAutoFocus(1)
	}, 1000)
})
atem.on('disconnected', () => {
	cameraControlState.reset()
})

atem.on('receivedCommands', (commands) => {
	const cameraCommands = []
	for (const command of commands) {
		if (command instanceof Commands.CameraControlUpdateCommand) cameraCommands.push(command)
	}

	const changes = cameraControlState.applyCommands(cameraCommands)

	// Do something based on the reported changes
	console.log('camera changes', changes)
})

Development

Setting up

  • Clone the repository
  • Install a compatible version of nodejs and yarn
  • Build the project with yarn build

Modifying the code

You can run yarn build:main --watch to rebuild the typescript code, which will re-run upon saving a file.

There are some unit tests, which can be run with yarn unit. This command calls into jest, so any jest arguments can also be used

Package Sidebar

Install

npm i @atem-connection/camera-control

Weekly Downloads

3

Version

0.1.0

License

MIT

Unpacked Size

102 kB

Total Files

64

Last publish

Collaborators

  • julusian