Skip to content

An elegant HTML5 web folder player for parties and/or private music collections, with sharing options and playlist management that's just better

License

Notifications You must be signed in to change notification settings

ltguillaume/music-folder-player

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 Chinese, 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!