{"id":21188105,"url":"https://github.com/dev1an/smartview-js","last_synced_at":"2025-06-30T00:04:08.769Z","repository":{"id":26458418,"uuid":"29909722","full_name":"Dev1an/SmartView-js","owner":"Dev1an","description":"Blackmagic Design SmartView Ethernet Protocol implementation in Javascript (written for use with Node.js)","archived":false,"fork":false,"pushed_at":"2020-03-04T14:08:59.000Z","size":22,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-21T13:09:27.343Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Dev1an.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-01-27T10:44:10.000Z","updated_at":"2020-07-31T20:50:36.000Z","dependencies_parsed_at":"2022-08-29T15:52:00.415Z","dependency_job_id":null,"html_url":"https://github.com/Dev1an/SmartView-js","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dev1an%2FSmartView-js","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dev1an%2FSmartView-js/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dev1an%2FSmartView-js/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dev1an%2FSmartView-js/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Dev1an","download_url":"https://codeload.github.com/Dev1an/SmartView-js/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243640676,"owners_count":20323706,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-20T18:42:35.239Z","updated_at":"2025-03-14T20:24:12.525Z","avatar_url":"https://github.com/Dev1an.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SmartView\nNon blocking Blackmagic SmartView Ethernet Protocol implementation in Javascript (written for use with Node.js).\n\nBecause 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.\n\n## Installation\n\tnpm install smartview\n\n## Get information\n\nTo get information about a smartview:\n```js\nvar address = \"10.1.0.12\"\nSmartView.getInfo(address, function(error, information) {\n\tif (error) throw error;\n\t// do something with the received information information\n});\n```\n### getInfo(address, callback)\n\n- `address`\n\n  The address of your smartview\n\n- `callback` \n\n A callback funciton that will be called with to arguments: `error` and `information`. The `information` argument will be an object like this:\n\t```js\n\t{\n\t    model : \"SmartView HD\",\n\t    hostname : \"SmartViewHD-7c2e0d02ae3e\",\n\t    name : \"dPro SmartView HD\",\n\t    monitors : [ \n\t        {\n\t            brightness : 255,\n\t            contrast : 127,\n\t            saturation : 127,\n\t            identify : false,\n\t            border : \"Green\",\n\t            widescreenSD : \"auto\",\n\t            id : \"MONITOR A\"\n\t        }\n\t    ],\n\t    inverted : false,\n\t    dynamicIP : false,\n\t    staticAddress : \"10.1.0.41\",\n\t    staticNetmask : \"255.255.255.0\",\n\t    staticGateway : \"192.168.0.1\",\n\t    currentAddress : \"10.1.0.41\",\n\t    currentNetmask : \"255.255.255.0\",\n\t    currentGateway : \"192.168.0.1\"\n\t}\n\t```\n\n## Change tally border\n```js\nvar address = \"10.1.0.12\"\nSmartView.setBorder(address, 'MONITOR A', 'Green', function(error){\n\tif (error) throw error;\n});\n```\n### setBorder(address, monitor, color, callback)\n\n- `address` The address of your smartview\n\n- `monitor` The id of the monitor you want to control.\n\n- `color`  The color of the tally border. You can choose between:\n  - `\"None\"`\n  - `\"Red\"`\n  - `\"Green\"`\n  - `\"Blue\"`\n\n\n- `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.\n\n## Auto discovery\n\nTo discover SmartViews in your network, add an event listener for the `detected` event:\n\n```js\nSmartView.on('detected', function(address) {\n\t// use the address for something\n})\n```\nThen start discovering by calling the `startDiscovering` method:\n```js\nSmartView.startDiscovering();\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdev1an%2Fsmartview-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdev1an%2Fsmartview-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdev1an%2Fsmartview-js/lists"}