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.11.tar.gz (427.3 kB view details)

Uploaded Source

File details

Details for the file lyricscreen-0.5.11.tar.gz.

File metadata

  • Download URL: lyricscreen-0.5.11.tar.gz
  • Upload date:
  • Size: 427.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for lyricscreen-0.5.11.tar.gz
Algorithm Hash digest
SHA256 77b6d9b0cba7190484a9b3c910243cb1487acfc820e3569b23ac08a875845811
MD5 3937d465e1e329294e64f35e61d6479c
BLAKE2b-256 be6d35d2ec8f352f205c6413ec0c3bddca21fa51004c13afa34698b3f16c5d1e

See more details on using hashes here.

Supported by

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