Giter Site home page Giter Site logo

mario9999999 / musicfolderplayer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ltguillaume/music-folder-player

0.0 1.0 0.0 1.25 MB

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

License: GNU General Public License v3.0

CSS 22.07% HTML 10.67% JavaScript 62.05% PHP 5.22%

musicfolderplayer's Introduction

Music Folder Player

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.

Dark theme via musictheme.css

Screenshot

Overview

Player

  • Rebuilds the tree of a specified folder, showing only files with supported extensions
  • Click on cover image to zoom (300x300px, again for full size)
  • Click on current song or folder name to find it in the library

Playlist

  • Drag and drop to change the playlist order or drag to bin to remove
  • Random playback will prevent choosing already played songs (unless "Play next" is used)
  • Click on a song to play directly
  • Right-click (long-press) a song to find it in the library
  • Choose how to continue when the playlist is exhausted:
    • Stop playback
    • Repeat the playlist
    • Continue from last song's position in 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 (optional)
  • Import/export playlists from/to a local file

Library

  • Sports a library filter to quickly find songs
  • Click a song to play (or enqueue when "Enqueue" mode is enabled)
  • Clicking on a song will always keep the playlist intact
  • Right-click (long-press) a song to play it next
  • Right-click (long-press) a folder to add all its songs to the playlist
  • Use arrow keys to traverse the library tree, Enter to play/enqueue, or Shift-Enter to play next/add folder

Parties

  • Password lock the playlist and playlist controls (allowing only Enqueue, Play next, Play/pause and Share)
  • Tip: use OpenKiosk and disable Set inactive terminal
  • Prevents adding a song if it's already queued up
  • Do not add previously played songs to playlist (optional)

Sharing

  • Download a song or zipped folder (only tested on a Linux server)
  • Share a song, folder or playlist link (library features/options will be hidden)
  • Share links directly to WhatsApp (optional)

List of hotkeys

Hotkey Command
Z Zoom cover image (full size, 300px)
0 Stop playback (time to 0:00)
Space Play/pause
[ Play previous
] Play next
- Jump back 5s
+ Jump forward 5s
Shift - Volume down
Shift + Volume up
U Show/hide volume
M Toggle Mute
E Toggle "Enqueue songs on click"
R Toggle "Randomize upcoming playlist items"
O Toggle "Crossfade between songs"
P Show/hide "Playlist options"
S Show/hide "Share options"
L Toggle "Lock playlist and playback controls"
D Load playlist: Add songs from saved playlist
V Save playlist: Save playlist online
I Import playlist: Add songs from exported playlist
X Export current playlist to file
A Define action after last playlist item
C Clear playlist
F Focus library filter
Esc Reset library filter
Arrow keys Navigate library tree
Enter Play/Add to playlist
Shift-Enter Play song next/Add folder to playlist

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!

musicfolderplayer's People

Contributors

ltguillaume avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.