{"id":19441408,"url":"https://github.com/jeffmikels/propresenter-watcher","last_synced_at":"2025-04-25T00:30:34.795Z","repository":{"id":37954199,"uuid":"206169856","full_name":"jeffmikels/propresenter-watcher","owner":"jeffmikels","description":"Node application to interface with ProPresenter 6 by Renewed Vision using the Stage Display and Remote Control protocols.","archived":false,"fork":false,"pushed_at":"2023-05-28T04:24:29.000Z","size":2516,"stargazers_count":11,"open_issues_count":15,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-05-28T05:22:08.683Z","etag":null,"topics":["hacktoberfest","midi","propresenter","vmix"],"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/jeffmikels.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2019-09-03T20:50:41.000Z","updated_at":"2023-05-28T05:22:08.684Z","dependencies_parsed_at":"2023-02-10T05:45:38.002Z","dependency_job_id":null,"html_url":"https://github.com/jeffmikels/propresenter-watcher","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeffmikels%2Fpropresenter-watcher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeffmikels%2Fpropresenter-watcher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeffmikels%2Fpropresenter-watcher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeffmikels%2Fpropresenter-watcher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jeffmikels","download_url":"https://codeload.github.com/jeffmikels/propresenter-watcher/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223973442,"owners_count":17234453,"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":["hacktoberfest","midi","propresenter","vmix"],"created_at":"2024-11-10T15:35:20.551Z","updated_at":"2024-11-10T15:35:21.187Z","avatar_url":"https://github.com/jeffmikels.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"This node application listens to ProPresenter's Stage Display and/or Control interfaces\nand will trigger javascript actions based upon updates from them.\n\nThese modules are included:\n\n-   ProPresenter -- for listening to and controlling ProPresenter\n-   vMix -- for sending vMix API messages\n-   LCC Live Event Controller -- for controlling the LCC Live Event System\n-   Web Logger -- for sending log strings to a webserver with apikey authentication\n-   MIDI -- for sending midi notes, program changes, control changes, and timecodes\n\nAny npm package can be installed and used.\nThe recommended way to add new functionality is to include the package with\n\n`npm install --save package-name`\n\nand then to write a wrapper class in the modules directory.\n\nImport the class and create an instance of the class in the main app.js file so that the triggers can fire appropriately.\n\nImportant documentation is contained in the app.js file.\n\n## Installation\n\n```\ngit clone https://github.com/jeffmikels/propresenter-watcher.git\ncd propresenter-watcher\nnpm install\n```\n\nDuring installation, a number of node modules will be downloaded.\n\nHowever, the MIDI component of this system relies on the `node-midi` module which requires compiling `rtmidi`, and therefore, a compiler must be installed.\n\nThe easiest way to do that is to follow the `node-gyp` instructions for your operating system here [https://github.com/nodejs/node-gyp].\n\nIf you ever need to rebuild the midi module, you can use this command:\n\n```\nnpm rebuild\n```\n\nFor more information, visit the node-midi documentation here [https://github.com/justinlatimer/node-midi]\n\n## Configuration\n\nAfter installation is complete copy `config.js.example` to `config.js` and edit the file according to your system's needs.\n\nNote: ProPresenter will only open one network port, and the main network port takes precedence. In other words, save yourself some hassle and put the same port number in both fields of the ProPresenter Network configuration.\n\n## Setting Up Triggers\n\nRead the comments in the `app.js` file so you can understand the way the slide notes should be created in ProPresenter. Then, take a look at how the example triggers are configured and feel free to change them for your needs.\n\n## Using Live\n\n### Run the app\n\nTo run the app, open up a terminal / command window in the folder where this code is stored.\n\n```\nnode app.js\n```\n\n### Open the UI\n\nThen, open a browser to `http://localhost:7000` (or whatever port you specified in the config.js file).\n\n### Use the vmix lower3 webpage\n\nIf you are integrating with vmix, obs, or some other system, you can open a specially designed \"lower third\" webpage that will be updated whenever ProPresenter text changes.\n\n`http://localhost:7000/lower3.html`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeffmikels%2Fpropresenter-watcher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjeffmikels%2Fpropresenter-watcher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeffmikels%2Fpropresenter-watcher/lists"}