Giter VIP home page Giter VIP logo

elv2prop's Introduction

elv2prop

Ever wanted to pull your Elvanto services into ProPresenter? Now you can.

This is alpha quality software with no guarantees - you should back up all your ProPresenter data before starting.

This has only been tested with ProPresenter 6 - it will probably not work with 5

Build status

Setup in Elvanto

The first thing you need to do is to register an application to access the Elvanto API. This will let us grab the services and songs from Elvanto. Follow the "Register an Application" instructions here. You need to set the redirect url to http://localhost:11843.

You need to make note of the "CLIENT ID" - you will need it later.

Download and Install (Windows)

Download and Install (macOS)

These instructions have not been tested

  • Install python 3.6, nodejs and yarn
  • Clone this repo
  • Create a virtualenv: python -m venv venv
  • Activate the venv: . venv/bin/activate
  • Install requirements: pip install -r requirements.txt
  • Build the client: cd client && yarn && yarn build && cd ..
  • Start the app: python elv2prop.py
  • The app will open in your browser
  • You will be asked for the Client ID from above
  • Best guesses for the location of your ProPresenter data will be made, please check these are correct
  • Save the configuration
  • Login to Elvanto when prompted (note, your user account must have access to services on Elvanto)
  • Choose the service you want to sync
  • Add any additional files from ProPresenter to the playlist
  • Click save
  • Kill the elv2prop process in your terminal
  • Open ProPresenter to view your new playlist

First Run

Do not run this tool when ProPresenter is open - it will not work and may corrupt your data.

  • Open the installation folder (by default C:\Program Files\monty5811\elv2prop on Windows)
  • Run the elv2prop.exe file
  • The app will open in your browser
  • You will be asked for the Client ID from above
  • Best guesses for the location of your ProPresenter data will be made, please check these are correct
  • Save the configuration
  • Login to Elvanto when prompted (note, your user account must have access to services on Elvanto)
  • Choose the service you want to sync
  • Add any additional files from ProPresenter to the playlist
  • Click save
  • Close the elv2prop console window (the black one)
  • Open ProPresenter to view your new playlist

Development

The application is made up of two components - a server and a client.

Server

The server is a python (3.6) app that runs a webserver that the client connects to.

The server is responsible for:

  • Fetching the services from Elvanto (can't be done in the client as the Elvanto API does not support CORS)
  • Finding ProPresenter files and matching them to songs in the Services
  • Making changes to the ProPresenter config files
  • Persisting settings to disk

Setup

python -m venv venv
. venv/bin/activate
pip install -r requirements-dev.txt
make run # start a dev server

Run the linters:

make lint

Client

The client is a webapp written in Elm (0.18) and is responsible for:

  • Presenting the UI to the user
  • Handling oauth tokens for Elvanto access

The client runs in the browser.

Setup

cd client
yarn install
cd ..
make buildclient # to build the assets for distribution
make watchjs # watch for code changes

elv2prop's People

Contributors

monty5811 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

elv2prop's Issues

Create icon

Design icon and then:

  • use as favicon
  • use as desktop icon on windows
  • use as desktop icon on mac

Add builds for macOS

cx_freeze is capable of building for macOS

Need to:

  • need to test and verify build works on a mac
  • setup travis ci to run mac build
  • setup build deploys to Github releases
  • update readme instructions

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.