bbreslauer / concertmaster_player

Classical music front-end for Spotify (Player)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

concertmaster_player

Concertmaster is a classical music front-end for Spotify.

It's splitted in several projects. This one provides only the HTML/JS interface. It uses some PHP to deal with the server-side part of OAuth. All data comes from an API which, in its turn, uses the Spotify API. Spotify doesn't allow multiple apps using the same API key, so you can't fork only the player and use the Concertmaster API - you have to fork both.

Usage

It's a web app, so just open it in your browser! (It doesn't work on the iPhone because the Spotify SDK isn't compatible with it.)

The player itself is full of features, so there is a wiki explaining them all.

How to build

  1. Fork and clone this git repository to your webserver (for example, in the /var/www/ folder)
  2. Fork the API repository and clone it as well
  3. Create an inc.php file from the example:
cd /var/www/concertmaster_player/lib/
cp inc-example.php inc.php
vim inc.php
  1. Change variable values in the lib/inc.php accordingly to your webserver and Spotify API params (you can create a Spotify dev account here)
  2. Edit the html/player/js/lib.js file and change variable values accordingly to your domains and Spotify API key params
  3. It's better to change the Google Analytics tag to your own account. Please check the html/player/index.html file

Domains

There are two public directories in the project and they must have their own virtual hosts on your webserver:

  • html/player it's the main player. For example, we host it at concertmaster.app
  • html/share it's the share page. For example, we host it at cmas.me

The main player must have SSL enabled (it's a DRM rule). You can use free Let's Encrypt-provided certificates, they're perfectly fine.

Development environment

We have adopted fake .local domains (concertmaster.local, cmas.local) for our dev webserver, but you can change the TLD in the html/player/js/lib.js file.

Please note that you still need the main player to serve with HTTPS, so you'll have to create self-signed phony SSL certificates for your dev environment.

Contributing with code

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Contributing with data

Concertmaster composers and works information come from Open Opus, a free, wiki-style, open source database of classical music metadata. You can review existing info or add new entries to the database - any help will be appreciated!

Contributing with money

Concertmaster is free to use but it runs on web servers that cost us money. You can help us by supporting us on Patreon - any amount is more than welcome!

License

GPL v3.0

About

Classical music front-end for Spotify (Player)

License:GNU General Public License v3.0


Languages

Language:JavaScript 78.1%Language:CSS 17.2%Language:HTML 4.3%Language:PHP 0.4%