Package: lyricscreen
A probably-overkill and powerful way of managing lyrics or verse
displays for concerts or church services.Glamour shotNOTE: This project is under heavy development and is not recommended
for mission-critical functions. There isn’t even a changelog at this
point since stuff is changing all the time, ok?!InstallationpipYou can get LyricScreen easily through PyPI! You can check out thepackage pageor usepipas follows:pipinstalllyricscreenNOTE: Windows Users: When you runlyricscreenfor the first
time, it will try to symlink theweb_clientwhich will fail unless
you run it in an elevated command prompt or as Administrator. So, when
you run it for the first time (per user), you will need to do so from a
command prompt running as Administrator.GitTo build from source:Clone this repo
(git clonehttps://github.com/lytedev/lyricscreen)Move into the directory (cd lyricscreen)Run the install scriptmake installfor the *nix folks (I hope)Windows users will have to run the following command (you’ll need the
proper PATH setup to run Python from your command prompt!)python setup.py bdist_msiand then run the newly builtdist/lyricscreen-X.X.X.win32.msito install the program.NOTE: Windows Users: When you runlyricscreenfor the first
time, it will try to symlink theweb_clientwhich will fail unless
you run it in an elevated command prompt or as Administrator. So, when
you run it for the first time (per user), you will need to do so from a
command prompt running as Administrator.Windows InstallerTODO: Coming soon! I need to implement building this via wine on
Linux and make it happen on PyPi updates. For now, refer to installation
via Git instructions on how to build a Windows installer.Basic UsageCommand LineIf you installed LyricScreen throughpip, as long as yourPATHis properly configured, you should be able to just runlyricscreenfrom your terminal. LyricScreen should automatically fire up and open a
browser page with access to the web console. It’s that simple!lyricscreen--helpwill show all the command line flags and options.Windows InstallationTODO: Windows installation usage. For now, you’ll have to have
Python scripts and such setup in your PATH and follow the Command line
usage.ConfigurationGenerate the default config withlyricscreen--create-config. It
will tell you the location of the generated default config file. Open
the file in your favorite text editor and modify the values to suit your
needs.The command line binary accepts an argument pointing to your preferred
config file if you require multiple configurations and switch between
them frequently.DevelopmentBackendThe module is contained in thelyricscreendirectory.Web ClientThe web client is found in thelyricscreen/httpdirectory, but
you’ll need to do a bit of setup to contribute properly. It runs onlyricscreen/httpserver.py, though it’s capable of running through
other HTTP servers such as Apache or nginx, since the web client is
really just some html files, stylesheets, and some fairly
straightforward JavaScript.To get setup for contributing to the Web Client, you’ll need the
following packages installed.npmNodePackageManager (You’ll neednode.jsinstalled)gulpStreaming build system (npm install-ggulp)bowerFront-end package manager (npm install-gbower)Once that’s done, navigate to the web client directory
(lyricscreen/http) and do the following to build the assets.npminstallbowerinstallgulpYou can also usegulp watchto continually build as changes are
made. If you use a LiveReload plugin, this also sends refresh messages
on file changes for a reload.It’s highly recommended to symlink the development directory’s web
client to the directory LyricScreen uses by default by running this:ln -s "$PWD/lyricscreen/http" "$HOME/.config/lyricscreen/web_client"ConcernsThere 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.TODOAuthentication 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 clientMore complex, optional song formatting options for fancier slides
(background images? text-align? Google fonts?)Playlist creation/saving/modification/loading/listing/viewingSong creation/saving/modification/loading/listing/viewingAlways: prettier, better organized code (conform to Python code
standards and have properly formatted docstrings… or docstringsat
all)YAML config files as an option?Nice introduction page for users on web client