splay is the only 🎶 player I need. It is made for me by me and I ❤️ it. It is 🐧 only.
To build splay clone the git repo, change into it
git clone https://github.com/aichingm/splay && cd splayand run one of the four build options:
- The tiny version
make build - A version with enabled MPRIS support:
make build-mpris - A debugging version for the the 1. option
make debug - A debugging version for the 2. option
make dbbug-mpris
this will create a binary in the cwd called splay.
To change the colors edit the color definitions in src/colors.h and rebuild splay.
Just move the splay binary in any of the directories which are in your $PATH.
No don't actually do this! Move it for example to /usr/local/bin or create a bin directory in your ~ and add it to your $PATH
In order to run (and build) you need some of the below listed libraries on your system:
- libvlc
- ncurses
- libtinfo
- dbus (only for build with MPRS support)
splay reads a list of files from stdin and plays one after another. splay can play all formats vlc can play.
For the purpose of usage I will assume that you have some music in ~/Music , 'cause that's where music belongs.
Play your 💙 song
echo best_song_ever.ogg | splayPlay all music in the cwd
ls -N1 | splayPlay all your music
find ~/Music | splayPlay all your ogg's
find ~/Music/*.ogg | splaysplay can also play in shuffle mode
find ~/Music | shuf | splayPlay your music ordered by name (add -r after sort to reverse)
find ~/Music | sort | splay Hey DJ, loop it 💿
while true; do echo ~/Music/nyan_cat_poor_quality.mp3 | splay; donePlay all your music in a loop
while true; do find ~/Music | splay; donePlay the 10 most recently added tracks
find ~/Music -type f -printf '%T@ %p\0' | sort -zk 1nr | sed -z 's/^[^ ]* //' | tr '\0' '\n' | head -n 10 | splayI will stop now, I think you got it 💡
Create a playlist of all your ogg music
find ~/Music*.ogg > ~/Playlists/cool_songs.plistAdd a song to a playlist
echo ~/Music/nyan_cat_poor_quality.mp3 >> ~/Playlists/cool_songs.plistPlay a playlist with splay
cat ~/Playlists/cool_songs.plist | splayHow do I play only ogg's from interpret <insert cool artist here>? That's simple:
(a=<insert cool artist here>; find . -name "*.ogg" -type f -exec grep -l -i -P "ARTIST=$a\x01" {} \; | splay)Since searching for tracks of fresh artists is a hard job for your spinning metal consider saving your search results to a playlist:
(a=<insert cool artist here>; find . -name "*.ogg" -type f -exec grep -l -i -P "ARTIST=$a\x01" {} \; | tee "Only_$a.plist" | splay)You can now play your playlist every time you want:
cat "Only_<insert cool artist here>.plist" | splayThere are only 11 defined
e,endend splayupmove the selection updownmove the selection not upenterplay the selected songnplay the next songpplay the previous songspaceswitch between playing and pauseleftseek ten seconds backwardsrightseek ten seconds in to the futuretcycle through title display modes 🔄