Federated repositories

git://git.sr.ht/~ft/zuke

zuke

ZUKE IS INCLUDED IN 9FRONT

THIS REPO IS LEFT AS HISTORY

A music player for Plan 9.

screenshot

With some stuff one expects from a music player:

2020/03/04

The module music decoder of choice is now audio/moddec, a port of DUMB. Please install it if you want to continue playing those mods.

2020/12/22

New playlist format. Zuke still will load old format and you can convert to the new one like so:

audio/zuke -G <old.plist >new.plist

Text-based alternative

Behold, a music player in rc, with keyboard control, plumbing, and a playlist that can be live-edited(!), by umbraticus: music.

Installing

Install libtags first.

Clone the repo, do mk install.

Zuke comes with two programs. One is audio/zuke, which is the player itself. The other one is audio/mkplist, it’s used to make playlists that are then fed to audio/zuke’s stdin:

audio/mkplist /n/somefs/dir /n/otherfs/file.mp3 http://stream.nauticradio.net:14280/ > $home/music.plist
audio/zuke < $home/music.plist

Of course, one can combine these steps into one:

audio/mkplist /n/music | audio/zuke

Plumbing

Plumbing music files and playlists is supported via “audio” port. New files can’t be added to the current playlist just yet.

type    is  text
data    matches '.+\.(mp3|MP3|ogg|OGG|flac|FLAC|wav|WAV|au|AU|mid|MID|mus|MUS|m3u|M3U|pls|PLS|it|IT|plist)$'
arg isfile  $0
plumb   to  audio
plumb   start   window -scroll play $file

To disable plumbing, execute before launching zuke:

bind /dev/null /mnt/plumb/audio

To remote control zuke, you can emulate pressing keys through plumber (ugh!):

plumb -d audio 'key >' # will skip to the next song

Formats

The ones supported with stock 9front: mp3, ogg/vorbis, flac, wav.

To play opus, visit this.

To play music mods, install audio/moddec.

To play m4a, install AAC decoder and mcfs.

Theme

To change the default theme install picker and run it using right mouse button menu in zuke. snarf all and save it to a file, then point to that file using an environment variable (you can put it into $home/lib/profile):

theme=.../my.theme

Columns to display

Zuke has an optional argument -c that specifies which columns to display, the default is -c AatD.

A  artist
a  album
b  file basename
t  title
D  duration
d  date
T  track number
p  full file path

With -s zuke will start in shuffled mode.

Hot keys

-    volume down
+ =  volume up

left/right                  seek backwards/forward (10 seconds step)
, .                         seek backwards/forward (one minute step)
up down pgup pgdn home end  move within the playlist
o i                         move to the currently playing track
enter                       play the selected track

> b         skip next
< z         skip prev
v           stop
p c space   pause/resume
s           toggle shuffle
q/del       quit

/  search forward
?  search backwards
n  repeat search forward
N  repeat search backwards

Mouse

left   - select a track
right  - menu
middle - play the track under the pointer