smartview

BlackMagic SmartView Ethernet Protocol implementation

Usage no npm install needed!

<script type="module">
  import smartview from 'https://cdn.skypack.dev/smartview';
</script>

README

SmartView

Non blocking Blackmagic SmartView Ethernet Protocol implementation in Javascript (written for use with Node.js).

Because SmartView devices only allow one active connection at a time, we open a new connection for each action and close it again when the action is done. This way, when your application is idle (not sending messages to smartview devices), the SmartView will not be blocked and you will be able to connect to it from another application when you use this library.

Installation

npm install smartview

Get information

To get information about a smartview:

var address = "10.1.0.12"
SmartView.getInfo(address, function(error, information) {
    if (error) throw error;
    // do something with the received information information
});

getInfo(address, callback)

  • address

    The address of your smartview

  • callback

A callback funciton that will be called with to arguments: error and information. The information argument will be an object like this:

{
    model : "SmartView HD",
    hostname : "SmartViewHD-7c2e0d02ae3e",
    name : "dPro SmartView HD",
    monitors : [ 
        {
            brightness : 255,
            contrast : 127,
            saturation : 127,
            identify : false,
            border : "Green",
            widescreenSD : "auto",
            id : "MONITOR A"
        }
    ],
    inverted : false,
    dynamicIP : false,
    staticAddress : "10.1.0.41",
    staticNetmask : "255.255.255.0",
    staticGateway : "192.168.0.1",
    currentAddress : "10.1.0.41",
    currentNetmask : "255.255.255.0",
    currentGateway : "192.168.0.1"
}
```

## Change tally border
```js
var address = "10.1.0.12"
SmartView.setBorder(address, 'MONITOR A', 'Green', function(error){
if (error) throw error;
});

setBorder(address, monitor, color, callback)

  • address The address of your smartview

  • monitor The id of the monitor you want to control.

  • color The color of the tally border. You can choose between:

    • "None"
    • "Red"
    • "Green"
    • "Blue"
  • callback A callback funciton that will be called when the tally border is set. When an error occures, for example when the SmartView is not reachable, an error will be provided as the first argument of the callback function.

Auto discovery

To discover SmartViews in your network, add an event listener for the detected event:

SmartView.on('detected', function(address) {
    // use the address for something
})

Then start discovering by calling the startDiscovering method:

SmartView.startDiscovering();