Skip to main content

A lyrics management and display web app and server.

Project description

NOTE: Undergoing a huge refactor - nobody knows how inaccurate this file is right now. IT’S VERY LIKELY THAT NOTHING WORKS!

A probably-overkill and powerful way of managing lyrics or verse displays for concerts or church services.

NOTE: This project is under heavy development and is not recommended for mission-critical functions.

Requirements

  • Python >= 3.3

  • asyncio module (if Python < 3.4, pip install asyncio)

  • websockets module (pip install websockets)

  • jsonpickle module (pip install jsonpickle)

And for development of the web client, you’ll want the following:

  • npm Node Package **M*anager (You’ll need node.js installed)

  • gulp Streaming build system (npm install -g gulp)

  • bower Front-end package manager (npm install -g bower)

Basic Usage

  • Run lyricscreen.py (python3 lyricscreen.py).

  • Currently, this will start both the websocket server from the big brain of the application and the HTTP server hosting the default web client.

  • Point your browser at localhost:8000/console as specified by the httpserver’s instructions for a management panel and master controls.

  • Point your browser at localhost:8000/display for a basic words display.

Development

For web client development, your work is primarily done in the WebInterface directory. Run npm install to fetch the node modules we use before running gulp to build our app.

You can also use gulp watch to continually build as changes are made. If you use a LiveReload plugin, this also sends refresh messages on file changes for a reload.

Concerns

  • There is zero security currently implemented. Anyone could theoretically open up their browser and open a console through your http server and do whatever they want.

  • Currently absolutely zero ease-of-use and UX. Eventual goal is run the program and have everything pre configured and managable from one interface without needing to edit configs or restart stuff. See TODO list.

TODO

  • Authentication info/system for console connections?

  • Idea: on-run, prompt or generate an admin password, require initial auth from “console” connections. Should be fine enough for short term?

  • Better UX for default web admin client

  • More complex, optional song formatting options for fancier slides (background images? text-align? Google fonts?)

  • Playlist creation/saving/modification/loading/listing/viewing

  • Song creation/saving/modification/loading/listing/viewing

  • Always: prettier, better organized code (conform to Python code standards and have properly formatted docstrings… or docstrings at all)

  • YAML config files?

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lyricscreen-0.5.9.tar.gz (398.5 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page