An elegant HTML5 web folder player for parties and/or private music collections, with sharing options and playlist management that's just better (mirror on GitHub)
 
 
 
 
Go to file
ltguillaume ca559b8966 Don't scroll page when mouse over #playlist 2023-09-17 17:31:15 +02:00
.github - Use consistent line endings 2023-09-07 16:26:55 +02:00
music.pls - Share dialog (mail, social media, native mobile share) 2023-02-28 12:28:53 +01:00
.gitignore fix gitignore 2022-09-16 10:04:28 +02:00
LICENSE - Use consistent line endings 2023-09-07 16:26:55 +02:00
README.md - Add style variant .colorborder: add decorative top border to main elements and bottom border to hovered buttons 2023-09-08 03:20:19 +02:00
SCREENSHOT.png - Update screenshot 2023-09-09 02:24:58 +02:00
SCREENSHOT_AFTERPL.png New screenshots 2023-04-01 01:30:42 +02:00
SCREENSHOT_SHARE.png - Material: set margin-left for #cover 2023-04-27 01:12:50 +02:00
music.css Don't scroll page when mouse over #playlist 2023-09-17 17:31:15 +02:00
music.defaults.ini - Add style variant .colorborder: add decorative top border to main elements and bottom border to hovered buttons 2023-09-08 03:20:19 +02:00
music.htm Add feature to suggest a random song to enqueue (hotkey Q) 2023-09-07 16:40:32 +02:00
music.js Don't stop current song if next song can't be downloaded 2023-09-14 23:10:53 +02:00
music.lang.en.ini Add feature to suggest a random song to enqueue (hotkey Q) 2023-09-07 16:40:32 +02:00
music.lang.es.ini Add feature to suggest a random song to enqueue (hotkey Q) 2023-09-07 16:40:32 +02:00
music.lang.nl.ini Add feature to suggest a random song to enqueue (hotkey Q) 2023-09-07 16:40:32 +02:00
music.lang.pt.ini Add feature to suggest a random song to enqueue (hotkey Q) 2023-09-07 16:40:32 +02:00
music.php - Use consistent line endings 2023-09-07 16:26:55 +02:00
music.png - Share dialog (mail, social media, native mobile share) 2023-02-28 12:28:53 +01:00
music.theme.css Fix html.colortoggle button:empty width 2023-09-13 15:59:25 +02:00
music.theme.light.svg - Use consistent line endings 2023-09-07 16:26:55 +02:00
music.theme.svg - Use consistent line endings 2023-09-07 16:26:55 +02:00
music.txt.woff Renamed some files 2021-01-30 20:56:34 +01:00
music.txtsc.woff Renamed some files 2021-01-30 20:56:34 +01:00
music.webmanifest - Use consistent line endings 2023-09-07 16:26:55 +02:00
music.woff 1.0 2018-06-02 13:22:49 +02:00

README.md

Music Folder Player

by ltGuillaume: Codeberg | GitHub | Buy me a beer 🍺

An elegant HTML5 web folder player for parties and/or private music collections, with a playlist system that all players should have had. It does not use a database (so it's alway up-to-date), but can easily handle folders with 25,000 songs or more. It has no dependencies other than PHP and installation costs less than 2 minutes. The design should be fully responsive on CSS3-compatible browsers.

Screenshot

Overview

Player

  • Click on cover image to zoom (300x300px, again for full size)
  • Click on current song or folder name to find it in the library
  • Right-click Volume to mute
  • Right-click Next to skip current artist

Options

  • Enqueue: Click on songs in the library to add songs to the end of the playlist, instead of playing them (next). Right-click to suggest a random song to enqueue.
  • Random: pick the next song randomly from the upcoming songs (songs added using "Play next" take precedence)
    • Right-click Random to shuffle upcoming songs (songs added using "Play next" will stay in place)
  • Crossfade: start playing the next song 10s before ending the current and fade out the current song
  • Password lock the playlist and playlist controls (allowing only Enqueue, Play/pause and Share)
    • Tip: use OpenKiosk and disable Set Inactive Terminal
  • Do not add previously played songs to playlist (optional)

Playlist

  • Click on a song to play directly
  • Drag and drop to change the order, drag to bin to remove
  • Right-click a song to find it in the library
  • Choose how to continue when the playlist is exhausted:
    • Stop playback
    • Repeat the playlist
    • Continue from the last played song's position in the library
    • Randomly select unplayed songs from the (filtered) library
  • Playlist and configuration will be saved to the browser's Local Storage if possible
  • Load/save online playlists (can be disabled)
  • Import/export playlists from/to a local file

Library

  • Rebuilds the tree of a specified folder, showing only files with supported extensions
  • Use arrow keys to traverse the library tree, Enter to play/enqueue, or Shift-Enter to play next/add folder
  • Click a song to play (or enqueue when "Enqueue" mode is enabled)
  • Clicking on a song will never clear the playlist (looking at you, ol' Winamp)
  • Play next: right-click (long-press) a song to play it next ("Play next" songs will play in "FIFO" order)
  • Right-click a folder to add all its songs to the playlist
  • Prevents adding a song if it's already queued up (unless "Play next" is used)
  • Sports a library (instant) filter to quickly find songs

Sharing

  • Download a song or zipped folder
  • Share a song, folder or playlist link (library features/options will be disabled)
  • Share links directly to email, social media or use your device's native share options (optional)

Themes

  • Define your own subset of the available themes and variants in music.ini
  •  Black ,  blue ,  green ,  gray  and  light  color themes
  • Can be mixed with variants (see music.theme.css):
    • Material-like rounded UI and compact retro UI
    • Colorize  hovered buttons 
    • Blue, green, orange and pink focus colors
    • Indicate enabled options by colored borders instead of checkmarks
    • Decorative top border for main elements and bottom border for hovered buttons

Translations

  • Currently includes English, Dutch, Portuguese and Spanish
  • Instructions for creating new translations can be found in the Wiki

List of hotkeys

A list of all the hotkeys can be found in the Wiki.

Installation

You can have a test setup running within 2 minutes. For all the details, check the Wiki.

Credits

All credits are due, as well as my sincere thanks!