Music player for Plan 9
search: fix cycle when on first/last element in the playlist
status width: fix for online streams with no known duration
icy: make sure we have bytes to parse in the first place


browse  log 



You can also use your local clone with git send-email.


A music player for Plan 9.


With some stuff one expects from a music player:

  • gapless playback
  • seeking
  • playlists
  • good metadata support
  • basic livestreams (ie IceCast) support


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/somefs.plist
% audio/zuke < $home/somefs.plist

Of course, one can combine these steps into one:

% audio/mkplist /n/music | audio/zuke


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):


#Columns to display

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

A  artist
a  album
t  title
D  duration
d  date
T  track number
p  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


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