- Play next
- Remove
Try loading the demo playlist!
Or this one.
About ...
This is intended to become a playlist manager and basic music player implemented mostly in browser-side JavaScript.
Implemented features
- Import M3U files by pasting into the textarea.
- Indicate a playlist by URN in the query string, so you can send playlists to people.
- Task list showing processing/loading being done (under the autio player).
- Buttons and hotkeys to go to previous/next track, play/pause the current one, and scroll to show the current one in the list.
- Drag+drop tracks to move them within the playlist.
Planned features
A.k.a. to-do list for myself.
- Export M3U
- Allow uploading M3U files.
- Pause after fade-out, unpausing on fade-in start.
- Allow setting fade-in, fade-out without reloading.
- Non-linear fades (currently linearlly fading between dBFS levels; might want to read Fade Shapes a bit more and figure out if they're talking amplitude ore decibels, there).
- Allow filtering by title.
- Store track references as both URNs and URLs, with the option to fix broken links using a user-configurable list of resolvers (HEADs to each).
- Generate playlists by taking random tracks from other playlists, keeping #GLUEd tracks together.
- Play the playlist using the HTML5 audio API to eliminate gaps between tracks?
Keyboard shortcuts
p
- Jump to previous track.c
- Scroll to current track.n
- Jump to next track.a
- Pause / resume.
Query String Parameters
ops=op1,op2,...
- list of operations to apply to the playlist after it's loaded; available operations are:shuffle
reverse
preshuffle=on
- same asshuffle
opn2r-host=domain
- rewrite URN-based URLs tohttp://domain/uri-res/raw/...
title=title text here
- use the specified text as the page titlecover-image-url=image file URL
- use the indicated image as the top banner
M3U Extensions
#URN
Provides a URN for the following file. e.g.
#URN:urn:sha1:YGN4UI76TTBPIBQH7F723RVYMGCHMLNR #URN:urn:bitpring:YGN4UI76TTBPIBQH7F723RVYMGCHMLNR.2BQ36RAJTKP5FO3NIWHKL7PLTUZVTBFU7BGGX2Q /home/joe/music/Deadmau5/Random_Album_Title/10-Deadmau5-Not_Exactly.mp3
#GLUE
A #GLUE
line between two tracks
indicates that those two tracks should always be played back-to-back
with no transition between. This is useful for indicating that songs
from an album with built-in transitions should always stick together,
e.g. when chopping up playlists. This is actually short for #TRANSITION:glue
.
#URN:urn:sha1:YGN4UI76TTBPIBQH7F723RVYMGCHMLNR /home/joe/music/Deadmau5/Random_Album_Title/10-Deadmau5-Not_Exactly.mp3 #GLUE #URN:urn:sha1:HR2DVCAFHVBDIKCQK3RFDP5OMTFAKHWA /home/joe/music/Deadmau5/Random_Album_Title/11-Deadmau5-Arguru.mp3
#TRANSITION
Indicates the desired transition from the previous song. When not present, it can be assumed that the songs are independent and can be transitioned however.
Possible values:
undefined
- same as defining no transition. The tracks may be treated as unrelated.glue
- the tracks should be considered attached and always played back-to-back.glue,remove-silence
- the tracks should be considered attached and always played back-to-back with any silence between them (at the end of the first or beginning of the second) track removed (useful because MP3 files sometimes contain unwanted silence at the ends of tracks due to limitations of the format)
#URN:urn:sha1:YGN4UI76TTBPIBQH7F723RVYMGCHMLNR /home/joe/music/Deadmau5/Random_Album_Title/10-Deadmau5-Not_Exactly.mp3 #TRANSITION:flue,remove-silence #URN:urn:sha1:HR2DVCAFHVBDIKCQK3RFDP5OMTFAKHWA /home/joe/music/Deadmau5/Random_Album_Title/11-Deadmau5-Arguru.mp3
M3U Editor ...
Fade ...
Have volume fade out as you fall asleep and ramp back up later to wake you up! Times can be specified with "s", "m", and "h" postfixes, e.g. "8h" means "8 hours".
Fading is done linearly between dBFS levels, with -60dB treated as 'effective silence'.
Fader automation: Uninitialized
Playlist ...
File | Length | Title |
---|