GithubHelp home page GithubHelp logo

chanx / tallyarbiter Goto Github PK

View Code? Open in Web Editor NEW

This project forked from josephdadams/tallyarbiter

0.0 0.0 0.0 18.68 MB

The flexible and customizable camera tally light system

Home Page: http://www.tallyarbiter.com

License: MIT License

JavaScript 100.00%

tallyarbiter's Introduction

Tally Arbiter

A camera tally lights project capable of listening/fetching tally data from multiple sources or video switchers and arbitrating whether an end device is considered to be in Preview or Program. Supports many different switcher types and protocols as well as many types of tally output.

Installation

Installation instructions can be found here.

Documentation

All documentation can be found here.

Contributing

Contributions are always welcome. Here's a quick guide on how to setup your local development environment:

  1. Install Node.js. You need at least version 18.13.
  2. Make sure you have npm@7. This can be checked by running npm -v. If your version of npm is too old, update it using npm i -g npm@7
  3. Clone this repository (or your fork): git clone https://github.com/josephdadams/TallyArbiter
  4. Run npm install in the project's root folder
  5. Start the main server with npm start
  6. Make any code changes desired
  7. Submit your work as a pull request

UI

The UI lives in the UI folder and is written using Angular.

If you want to make changes to the UI, you need to do the following:

  1. Navigate to the UI directory with cd UI
  2. Install its dependencies with npm install
  3. Start the local UI development server by running npm start.
  4. Open a browser and navigate to http://localhost:4200.

When you make changes to the source code, the page in your browser will automatically reload.

The socket.io / REST API requests the UI makes are automatically proxied to http://localhost:4455. That's the reason why the main server (see above) needs to be running.

Running npm install in the project's root folder (not in the UI directory) the UI is built automatically. As the UI's bundled dist files are excluded from the git repository in the .gitignore file, this is needed to ensure users which install TallyArbiter from source also have bundled UI dist. This dist is also served by the main server using express.static().

Desktop App

The Desktop App is made with Electron. The main file is called main.js (not to be confused with the index.js, which is the server's entrypoint.)

The Electron App can be started with npm run desktop. It will always show the generated UI dist, so in order to see changes made to the UI in the desktop app, you need to build the UI (see above).

The installer can be generated by running npm run build-desktop.

Maintainers

Releasing a new version of Tally Arbiter:

  1. Edit package.json and package-lock.json and update the version tag to the new version number
  2. Open the TallyArbiter repository in Git
  3. Run git tag <new version tag>
  4. Run git push --tags
  5. Wait for the GitHub build actions to complete
  6. Open the releases page and to the the tags area
  7. Open the new version and update the description with the added features and patched bugs
  8. Press the publish button to publish the new version of TallyAbiter

License

Tally Arbiter was written by Joseph Adams and is distributed under the MIT License.

It is not sold, authorized, or associated with any other company or product.

To report a bug or open a feature request, please go to our issues page. If you would like to see more of @josephdadams's projects or send a word of encouragement his way, please visit techministry.blog.

tallyarbiter's People

Contributors

0xjaskeerat avatar albertorighetto avatar chanx avatar commputethis avatar cyberblaststudios avatar dbussert avatar dependabot[bot] avatar duncanbarnes avatar everton747 avatar fred-dtv avatar goseid avatar gr8kingg avatar greiffenberg avatar hrueger avatar jocke4f avatar johankj avatar josephdadams avatar jtf4 avatar julusian avatar kmyhre avatar matteogheza avatar mattv8 avatar mg-1999 avatar monkzzz avatar noahcallaway avatar peschuster avatar robo-w avatar themusicnerd avatar videojedi avatar wrldtvlr avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.