clone: git://shithub.us/sigrid/zuke gits://shithub.us/sigrid/zuke
patches to: sigrid on 9gridchan, or email@example.com
mkplist: use audio/moddec (if available) to read duration
A music player for Plan 9.
With some stuff one expects from a music player:
* gapless playback
* good metadata support
* basic livestreams (ie IceCast) support
The module music decoder of choice is now [audio/moddec, a port of
DUMB](https://git.sr.ht/~ft/dumb`). Please install it if you want to
continue playing those mods.
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:
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/music.plist
audio/zuke < $home/music.plist
Of course, one can combine these steps into one:
audio/mkplist /n/music | audio/zuke
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
plumb -d audio 'key >' # will skip to the next song
The ones supported with stock 9front: mp3, ogg/vorbis, flac, wav.
To play opus, visit [this](http://nopenopenope.net/posts/audcomp).
To play music mods, install [audio/moddec](https://git.sr.ht/~ft/dumb).
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
## Columns to display
Zuke has an optional argument `-c` that specifies which columns to
display, the default is `-c AatD`.
b file basename
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
p c space pause/resume
s toggle shuffle
/ 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