{"id":13687141,"url":"https://github.com/jensstigaard/vmix-js-utils","last_synced_at":"2025-05-01T12:32:47.265Z","repository":{"id":30052082,"uuid":"123680277","full_name":"jensstigaard/vmix-js-utils","owner":"jensstigaard","description":"JavaScript utilities for vMix to read state of vMix instance","archived":false,"fork":false,"pushed_at":"2024-09-29T18:21:48.000Z","size":931,"stargazers_count":17,"open_issues_count":0,"forks_count":5,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-11-04T08:25:49.045Z","etag":null,"topics":["livestreaming","vmix"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jensstigaard.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":"FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"custom":["https://www.paypal.me/stigaard"]}},"created_at":"2018-03-03T10:04:28.000Z","updated_at":"2024-09-29T18:24:14.000Z","dependencies_parsed_at":"2024-08-05T23:10:34.763Z","dependency_job_id":null,"html_url":"https://github.com/jensstigaard/vmix-js-utils","commit_stats":{"total_commits":354,"total_committers":7,"mean_commits":50.57142857142857,"dds":0.6045197740112994,"last_synced_commit":"367e91cb08892dab9e116969af54bffd98b2d584"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jensstigaard%2Fvmix-js-utils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jensstigaard%2Fvmix-js-utils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jensstigaard%2Fvmix-js-utils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jensstigaard%2Fvmix-js-utils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jensstigaard","download_url":"https://codeload.github.com/jensstigaard/vmix-js-utils/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224257462,"owners_count":17281713,"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":["livestreaming","vmix"],"created_at":"2024-08-02T15:00:49.494Z","updated_at":"2024-11-12T10:30:45.733Z","avatar_url":"https://github.com/jensstigaard.png","language":"TypeScript","funding_links":["https://www.paypal.me/stigaard"],"categories":["Third-party software and development"],"sub_categories":["Libraries"],"readme":"# vMix-js-utils\n\n[![package json version](https://img.shields.io/github/package-json/v/jensstigaard/vmix-js-utils.svg)](https://github.com/jensstigaard/vmix-js-utils)\n[![npm version](https://badge.fury.io/js/vmix-js-utils.svg)](https://www.npmjs.com/package/vmix-js-utils)\n[![npm downloads](https://img.shields.io/npm/dm/vmix-js-utils)](https://www.npmjs.com/package/vmix-js-utils)\n\n[![NPM Badge](https://nodei.co/npm/vmix-js-utils.png)](https://npmjs.com/package/vmix-js-utils)\n\nvMix API utility library for Javascript can be used in either frontend or backend applications (Node,js).\n\nIt is recommended to import the package as a NPM package.\nAlternatively you can download the source code and included it as a library manually.\n\n## OBS - Node.js utility for vMix\n**Note**: The Node.js utility for communicating with vMix is branched out in its own repository/package - See [node-vmix](https://github.com/jensstigaard/node-vmix) for more info.\nThe node-vmix package is only for Node.js applications, used for easy connection to vMix instances.\n\nThis library can be used both in front-end and Node.js projects.\n\n---\nSimple use\n```javascript\n// Import all XML API functionality\nimport { XmlApi as vMixXmlApi } from 'vmix-js-utils'\n\n// Import specific XML API functionality from the (sub)module\nimport { DataParser, Inputs } from 'vmix-js-utils/xml-api'\n```\n\n# Purpose\nThis library is a set of utilities consisting of several modules. \nEach can be used on its own, but usually it makes more sense to make it interplay with some of the other modules.\nThis is demonstrated in [the examples](#examples).\n\nThe modules are coded as classes, meaning that they are constructed with specific parameters.\n\nThe source code is written in TypeScript, and compiled to javascript to allow it to be used as a npm package.\nIt includes type declarations for TypeScript support, meaning that you can type defer i.e. the input types.\n\n# Documentation\nPlease read [the documentation](https://jensstigaard.github.io/vmix-js-utils/).\n\n# Installation and use\n\n## As a dependency using npm (or yarn)\nThe library is published at npmjs as a package, meaning that you can easily add the utilities as a dependency in your project.\nFound here: https://www.npmjs.com/package/vmix-js-utils\n```sh\nnpm install vmix-js-utils --save\n# or 'yarn add vmix-js-utils -d'\n```\n\nIn your code the simplest way to import the modules is the following:\n\n```javascript\n// ES6\nimport { DataParser, GeneralState } from 'vmix-js-utils/xml-api'\n\n// or commonjs\nconst { DataParser, GeneralState } = require('vmix-js-utils/xml-api')\n// ...\n```\n\n\n# Standalone project / Fork\nThe code can be cloned and tested as needed from the source code.\nIt is especially useful when deveoping and extending the functionality.\n\n```sh\ngit clone https://github.com/jensstigaard/vmix-js-utils.git\ncd vmix-js-utils\n```\n\nTo run the project as standalone locally, you may want to first install the dependencies\n```sh\nnpm install # or 'yarn'\n```\n\nCompile TypeScript source code to JavaScript code\n```sh\nnpm build # or 'yarn build'\n```\n\nRun tests\n```sh\nnpm test # or 'yarn test'\n```\n\n\n# Examples\n\n*Work in progress.*\n\n## XML API\n### Inputs\n- [Map all attributes](./examples/xml-api/input-mapping.js)\n- [Map only selected attributes](./examples/xml-api/input-mapping-selective.js)\n\n\n# Authors\n(Jens Grønhøj Stigaard)[github.com/jensstigaard]\n\n\n# Contribution\nYou are more than welcome to contribute to the repository!\n\n\n# Roadmap\n - More examples\n - More tests\n - Perhaps more functionality\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjensstigaard%2Fvmix-js-utils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjensstigaard%2Fvmix-js-utils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjensstigaard%2Fvmix-js-utils/lists"}