ref: 79298813cf7f19ad95c9787e0bd57a410f655ad5
dir: /README.md/
# 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 ## 2020/03/04 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. ## 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](http://runjimmyrunrunyoufuckerrun.com/rc/music). ## 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/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](http://nopenopenope.net/posts/audcomp). To play music mods, install [audio/moddec](https://git.sr.ht/~ft/dumb). ## 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 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