Skip to content
main
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Cue View

A dashboard for everything in your show.

Screen Shot 2021-10-26 at 11 57 21 PM

Features

  • Tons of supported equipment
  • Auto discover devices on the network
  • Live updating
  • Configurable layout

Supported Devices

  • QLab 4
  • ETC Eos Consoles
  • Watchout
  • PJLink Projectors
  • X32 Audio Consoles
  • XAir Audio Consoles
  • Art-Net Universes
  • sACN Universes

Future Devices

  • Spikemark (not possible until additional OSC methods are added)
  • ATEM Video Mixers
  • Epson Pro series Projectors
  • DiGiCo Consoles
  • d&b DS100, amps
  • Hog

Plugins

A Cue View "plugin" is a system for communicating with a type of device, for example QLab or Watchout. It consists of a JS file that describes how to communicate with the device, an HTML template for displaying the device's data, and a CSS file to style the HTML.

plugin.js

exports.defaultName = 'Example Plugin';
exports.connectionType = 'osc' or 'TCPsocket' or 'UDPsocket'
exports.searchOptions = {
	type: 'Bonjour',
	bonjourNane: 'device'
}
exports.searchOptions = {
	type: 'UDPsocket',
	searchBuffer: Buffer.from([0x00, 0x01, 0x02]),
	devicePort: 1234, // port the device receives messages on
	listenPort: 2345, // port Cue View should listen for responses on
	validateResponse: function(msg, info){
		// if this function returns true, Cue View adds the responding IP address to the list
	}
}
exports.searchOptions = {
	type: 'TCPport',
	searchBuffer: Buffer.from('are you there'),
	testPort: 1234, // port the device receives messages on
	validateResponse: function(msg, info){
		// if this function returns true, Cue View adds the responding IP address to the list
	}
}
exports.defaultPort = 1234; // only available for TCPsocket and UDPsocket devices
exports.heartbeatInterval = 5000; // how frequently, in ms, to send the heartbeat message

exports.ready = function (device){
	// runs when Cue View identifies a new device. send all data requests here
	device.send(); // method for sending a message to the device requesting more info. arguments change based on connectionType

	device.send(`/this/is/osc`); // osc
	device.send(`/this/is/osc`, [{ type: 'i', value: 20 }, { type: 's', value: 'foo' }]); // osc with arguments

	device.send(`hello`); // UDPsocket and TCPsocket

}

exports.data = function (device, buf){
	// runs when Cue View receives a message from the device.
	device.draw(); // flag for QLab to update the device's view
	device.send();
}

exports.heartbeat = function (device){
	// runs every n milliseconds, defined by exports.heartbeatInterval
	devide.send();
}