ZUKE(1) ZUKE(1)
NAME
mkplist, zuke - graphical music player
SYNOPSIS
audio/mkplist [ -s ] directory/file/URL [...]
audio/readtags [ -i ] [file ...]
audio/zuke [ -s ] [ -c columns ]
DESCRIPTION
Zuke is a graphical music player that reads a playlist from
standard input and presents an interface to play music.
Playlists are generated by mkplist, which accepts files,
directories, and URLs as its arguments, and writes the
resulting playlist to standard output. Option -s enables
"simple" sorting of the entries of the playlist, where only
full paths are compared.
Formats supported by zuke are: MP3, OGG/Vorbis, FLAC, and
WAV. With additional programs, Opus, modules and M4A (AAC)
can be played. Zuke also supports network streams, such as
IceCast. Option -s enables ``shuffle'' mode on start.
The columns (and their order) displayed can be changed by
passing the following letters along -c option:
A Artist (displays composer if no artist has been set)
a Album
b File basename
C Composer
t Title
D Duration
d Date
T Track number
p Full file path
By default, artist, album, title, and duration are dis-
played, which corresponds to -c AatD.
Zuke can be controlled with a mouse, keyboard, and plumber.
Button 1 selects a track, button 2 plays a track. Clicking
on the seek bar changes the playback position accordingly.
On the right of the seek bar, current position, track dura-
tion and volume are displayed. ``∫'' is shown if shuffle
mode is enabled.
Plumbing a file with .plist extension loads the playlist in
zuke. This is useful with a collection of playlists dis-
played aside.
Page 1 Plan 9 (printed 10/25/25)
ZUKE(1) ZUKE(1)
Zuke provides a number of keyboard controls:
- Lower volume.
+ = Increase volume.
↑ ↓ Pgup Pgdown Home End Move within the playlist.
o i Jump to current track.
Enter Play selected track.
> b Skip to next track.
< z Skip to previous track.
← → Seek 10 seconds back/forward.
, . Seek 60 seconds back/forward.
v Stop
p c Space Pause/Resume.
r Toggle ``repeat one''.
g Switch between no gain, track
gain, and album gain applied.
s Toggle ``shuffle''.
q Del Quit.
/ Search forward.
? Search backwards.
n Repeat search forward.
N Repeat search backwards.
Typing any digit initiates a "Seek to" prompt. Minutes,
hours and seconds can be separated with a colon, if needed,
otherwise the position is taken as seconds from the begin-
ning of the track.
Zuke can be controlled by emulating key presses via the
plumber port audio.
Files present in the current playlist can be plumbed too,
and will be played immediately.
When a new track starts playing, zuke will write its tags to
stdout, each column separated by a tab character. If play-
back is stopped, an empty line is written instead. This can
be used for scrobbling or displaying the current track in
another window.
Readtags prints tags stored within audio files. When option
-i is specified, it will try to extract the cover image and
write it to standard output as a Plan 9 image instead.
EXAMPLES
Generate a playlist:
audio/mkplist /usr/glenda/music \
file.mp3 \
http://anonradio.net:8000/anonradio > music.plist
Playing a playlist:
Page 2 Plan 9 (printed 10/25/25)
ZUKE(1) ZUKE(1)
audio/zuke < music.plist
Append to a playlist:
audio/mkplist /n/moremusic >> music.plist
Skip to the next track using plumber:
plumb -d audio 'key >'
SEE ALSO
play(1)
SOURCE
/sys/src/cmd/audio/zuke
/sys/src/cmd/audio/libtags
HISTORY
Zuke first appeared in 9front (April, 2021).
Page 3 Plan 9 (printed 10/25/25)