suterma / replayer-pwa

A cue-based media player, as a PWA
https://replayer.app
GNU Affero General Public License v3.0
15 stars 1 forks source link
cue media-player music music-player pwa rehearsal track

License GitHub All Releases Release Language Build Status

Replayer is a free, cue-based media player for rehearsals with playback music. By the click of a button, Replayer starts to play at predefined times in the audio or video file.

Visual Functioning Overview

How it works

  1. Add music files (mp3, wav, ...) to create a compilation of tracks.
  2. Add cues for specific points in time (e.g. intro, verse, chorus, rehearsal marks,...) in the playback file, with a name and an optional shortcut mnemonic
  3. In the session, using Replayer on your portable computer, play any part of your set with the click of a cue button.
  4. Additionally, you can use a (bluetooth) numeric keypad, as a remote control

Try the demo in the browser.

Latest release

Documentation

Tests

End-to-end (with cypress)

Run the Cypress End-To-End regression tests

Unit tests

Run the vitest unit tests with:

npm run test:unit

Build

This package currently runs best with node version 16. (node version 18 fails because of some dependencies that are not working with it.)

npm install -g n
n 16
npm install
npm run build

NOTE: For node v18 on Windows, use the Workaround "Number 2" by https://sebhastian.com/error-0308010c-digital-envelope-routines-unsupported/

When using VSCode, in the Terminal (Powershell) do

# Windows PowerShell:
$env:NODE_OPTIONS="--openssl-legacy-provider"

once before building.

Bundling

Replayer uses Vite, with it's current default use of Rollup as the bundler for production builds.

This means that optimizations for production buils need to leverage Rollup's options. This Rollup bundle visualizer plugin creates visual build statistics, whenever a production build is made.

See the the latest bundle statistics in stats.html.

Roadmap

See Trello