kew terminal music player screenshot

kew (/kjuː/, a variant of cue) is a terminal music player.

CHANGELOG

kew 4.1.5

Sponsors

Thanks to new sponsor rei for their support!

kew 4.1.4

kew 4.1.3

kew 4.1.2

kew 4.1.1

kew 4.1.0

kew 4.1 adds custom layouts, auto-resume, crossfade, an improved visualizer.

kew is also available on Windows now.

The sound system was rewritten in v4.0 and in this version the UI system has been rewritten using the MVU pattern. There are still smaller areas that need improvement, but most of the app is now in a much better shape.

Enhancements

Layouts

It’s now possible to change how kew looks. It’s as minimal as possible, the syntax for layouts is very simple and the files are small. More info in LAYOUTS-HOWTO.md.

By @ravachol.

Crossfade (experimental)

Crossfade can be toggled on or off and affects the end of the song, or initiated on demand.

Four new commands:

z = Toggle crossfade on

shift+d = Quick crossfade

shift+f = Medium crossfade

shift+g = Slow crossfade

New settings:

alwaysCrossfade

fadeEnterSongMs // Tells kew to start fading x milliseconds into the next song.

fadeQuickMs

fadeMediumMs

fadeSlowMs

By @ravachol.

AutoResume.

Persists playback state between sessions, on by default.

autoResume=1

By @ravachol. Suggested by @thbemme.

New colorful spectrum visualizer modes.

“Party Mode” is the default option. Cycle by pressing ‘v’.

Visualizer modes: 0=lighten, 1=flat, 2=reversed lighten, 3=party, 4=vibrant, 5=lum vibrant, 6=binning, 7=off.

By @emptyhead41.

New album color mode that uses up to 4 album colors

It’s all defined in themes that you can edit. Also these 4 album colors can be used in any theme. Mix and match!

By @ravachol, building on @emptyhead41’s palettes.

New theme pack and Improved Themes.

Nord and Nanagawa themes have been added, plus both the new album colors themes.

Also all existing themes have been worked on and make a bit more sense now, and use colors more sparsely.

By @ravachol.

Scrolling lyrics on the lyrics page

By @petoem. Suggested by @kewIT.

Other enhancements

Bug fixes

Refactor

Sponsors

Thank you to new sponsors @LTEder, @Lee, @rick, @Supporter, @tezoatlipoca and @enzawin for their generous contributions!

You can sponsor kew here:

Github Sponsors: https://github.com/sponsors/ravachol Ko-Fi: https://ko-fi.com/ravachol

4.0.0 LOVE IS GONNA SAVE US EDITION

kew 4.0 brings ASCII visualizations and a redesigned audio module. There’s also a discord integration, kew play <path> command, support for macOS media keys, AIFF support and more.

kew now has an official Arch Linux package and will soon also be on Android (Termux).

I want to take this opportunity to thank the package managers who showed up out of nowhere and were brave enough to support this project very, very early on, when it was just a piece of shit with some cool ideas. People like Matthias Geiger who maintains the packages for Debian, Ubuntu, Raspberry Pi, Kali and others. Agustin Ballesteros and Matteo Giordano for the two AUR packages. Yuri Victorovich for FreeBSD. Brett Carlock for Alpine Linux and all the others.

Now we also have Robin Candau on Arch Linux helping us. Thank you to you all and thank you also to all the others that I haven’t had much contact with but we are very thankful to you as well.

Check out the Chroma Demo here: https://www.youtube.com/watch?v=Ql5ZKeaX2MQ. Benny Benassi is not affiliated with us.

Enhancements

Everything to do with playing audio is now behind a facade: https://codeberg.org/ravachol/kew/src/branch/main/images/kew_architecture.png.

These changes were made to reduce the occurence of stuttering: - kew now runs as a realtime scheduled app (SCHED_RR), but at a low priority. - miniaudio period size increased to 200ms and number of periods to 4. - much cleaner decode and audio callback logic with no locks.

This adds cool new ASCII visualizations to kew. It is not baked into kew and doesn’t add bloat, but runs alongside it. So it requires that you install chroma separately if you want this. Chroma can be found here: https://github.com/yuri-xyz/chroma.

Chroma is started from within kew. Just switch to track view and press c to cycle through visualizations. Press b to disable.

Thank you @yuri-xyz for helping out with this.

Bug Fixes

Special Thanks

Special thanks to @LeahTheSlug and @petoem who have helped a great deal, and are now advisor and technical advisor respectively.

3.7.3

New Features

Bugfixes

3.7.2

New Features

Bug Fixes

3.7.1

Bug Fixes

3.7.0

Biggest news in this release: Optimisations for large music collections/slow disks and a key binding/input handling overhaul.

Som examples:

bind = +, volUp, +5% bind = Shift+s, stop bind = mouseMiddle, enqueueAndPlay

The old format config files will still work for the most part, but to see examples of the new style, delete your kewrc file.

Bug Fixes

Contributors

Thank you also especially to contributors @jaoh, @bholroyd, @LeahTheSlug, @Chromium-3-Oxide and @hpjansson, @Vafone for reporting many issues and helping out.

Thank you to @bholroyd for making the kew theme editor: https://bholroyd.github.io/Kew-tip/

Thank you to all the beta testers!

Sponsors

Thank you to Christian Mummelthey, imalee.sk and @sandrock. for their donations.

3.6.4

3.6.3

3.6.2

3.6.1

3.6.0

kew logo

Bug Fixes

Sponsors

Thank you to for the generous donation @LTeder!

3.5.3

3.5.2

3.5.1

3.5.0

Now with themes and Android support

New in this release:

Themes

Press t to cycle available themes.

To set a theme from the command-line, run:

kew theme themename (ie ‘kew theme midnight’)

Put themes in ~/.config/kew/themes (~/Library/Preferences/kew/themes on macOS).

Android

I haven’t looked at battery life aspects yet, but staying in library view will be easier on the battery than using track view with the visualizer. You can also press v to toggle the visualizer on or off.

TTY problems resolved

The flickering in TTY has been fixed. Btw, if you are on tty or have limited colors and font on your terminal, try pressing i (for other color modes), v (for visualizer off) and b (for ascii cover). That should make it look much more easy on the eye!

Move to Codeberg

We now have a repo on Codeberg and that will be the preferred repo going forward. But people will be welcome to contribute in whichever place they prefer. Except for PRs, PRs need to go to codeberg, develop branch.

OpenSuse

We are now back on openSuse, our package there hadn’t been updated in a long time, due to openSuse not having faad lib.

We still need a Fedora package. We already have a RPM spec that @kazeevn added and everything.

Thank you to @welpyes for bringing up Termux and helping out with that, and @arcathrax for fixing the ultrawide monitor bug. Thank you to mantarimay for updating the openSuse library.

Sponsors and Donations Wanted

Thank you to a new sponsor, @BasedScience!

Please support this effort: https://ko-fi.com/ravachol https://github.com/sponsors/ravachol.

New Features / Improvements

Bug Fixes

3.4.1

Adds a few minor bug fixes and you can now use playlists from the library view.

Bug Fixes

3.4.0

Bug Fixes

3.3.3

Bug Fixes

3.3.2

3.3.1

Removal of Internet Radio Feature: We have decided to remove the internet radio feature from this release. This decision was made after careful consideration of stability and security concerns.

Why This Change: To focus on core functionality. By removing the internet radio feature, we can concentrate on making the core music player really high quality, and making kew a more enjoyable experience.

Security and Stability: It has been challenging addressing issues related to the internet radio feature. Removing it allows us to focus on other aspects of the application without compromising its stability and security.

To summarize: By removing internet access completely from kew, we can make it a simple, secure and robust tool much more easily.

3.3.0

Bug Fixes

3.2.0

Now with a mini-player mode, a braille visualizer mode, a favorites list for radio stations, scrolling names that don’t fit, the visualizer running at 60 fps, and much more!

Bug Fixes

3.1.2

3.1.1

3.1.0

Now with internet radio, mouse support and ability to move songs around in the playlist.

Dependencies:

Changes:

Bug Fixes:

Special Thanks To These Sponsors:

3.0.3

3.0.2

3.0.1

3.0.0

This release comes with bigger changes than usual. If you have installed kew manually, you need to now install taglib, ogglib and, if you want, faad2 (for aac/m4a support) for this version (see the readme for instructions for your OS).

Thank you so much @xplshn, @Vafone and @Markmark1 for help with testing.

3.0.0-rc1

This release comes with bigger changes than usual. If you have installed kew manually, you need to now install taglib, ogglib and, if you want, faad2 (for aac/m4a support) for this version (see the readme for instructions for your OS).

Thank you @xplshn and @Markmark1 for help with testing.

Big thanks to everyone who helps report bugs!

2.8.2

2.8.1

New in this version:

Bugfixes and other:

Thank you to @vdawg-git for helping me test and debug!

Thank you also to @ZhongRuoyu!

2.8

New Features:

Bugfixes and other:

Thank you to @vdawg-git for helping me test and debug!

2.7.2

Btw, there is a bug in the KDE Media Player Widget which locks up plasmashell when certain songs play (in any music player). If you are having that problem, I suggest not using that widget until you have plasmashell version 6.20 or later. Bug description: https://bugs.kde.org/show_bug.cgi?id=491946.

2.7.1

2.7

This release adds: - Complete and corrected MPRIS implementation and support of playerCtl, except for opening Uris through mpris. - Libnotify as a new optional dependency. - Fixes to many minor issues that have cropped up.

2.6

2.5.1

2.5

2.4.4

2.4.3

2.4.2

2.4.1

2.4

2.3.1

2.3

2.2.1

2.2.1

2.2

2.1.1

2.0.4

2.0.3

2.0.1

1.11

1.10

1.9

1.8.1

1.8

1.7.4

1.7.3

1.7.2

1.7.1

1.7.0

1.6.0

1.5.2

1.5.1

1.5

1.4

1.3

1.2

1.1

1.0.9

1.0.8

Features:

Bug Fixes:

1.0.6

1.0.5

1.0.4

1.0.3

1.0.2: