shithub: zuke

ref: 0ad2ce4d7d26e35544b99897d22a28dc915cacd8
dir: /README.md/

View raw version
# zuke

A music player for Plan 9.

![screenshot](zuke.jpg)

With some stuff one expects from a music player:

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

## Installing

Install [libtags](https://git.sr.ht/~ft/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
```

## Theme

To change the default theme install
[picker](https://git.sr.ht/~ft/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
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    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
```