New Audio Visualizer widget for KDE Plasma 6, looking for name suggestions

Always wanted to have a simple but nice audio visualizer that integrated well with Plasma, since panon is no longer working I decided to make my own using CAVA as the audio source and it turned out better than I expected!

Currently it requires building it from source but I am working on a QML only mode so that it can be published to the KDE Store.

Made this post to gather some feedback and suggestions for a name because as you can see from my other projects I am not good at naming things :sweat_smile:

Edit: I did end up changing the name for second time, project it’s now called Kurve

Source code: GitHub - luisbocanegra/kurve: Audio visualizer widget powered by CAVA for the KDE Plasma Desktop

7 Likes

Synesthesia
or something like that

Interesting suggestion

1 Like

I made a post on the Kreddit as people tend to be more active there https://www.reddit.com/r/kde/comments/1lla8hy/new_audio_visualizer_widget_for_kde_plasma_6/

Hmm yes the word is to close to that one, honestly I think I may have rushed the change, the other name I was considering was Kurve but if it could have some bad connotation I could just revert to the original one I guess :face_exhaling:

Maybe it’s not that bad, maybe Kurve would be better.

I hope a native Polish speaker can give better advice than me. I just know some dirty words for some reason :speak_no_evil_monkey:

PS I deleted my post now that you have seen it I am afraid of being banned :laughing:

1 Like

Project name is now Kurve

KDE Store (same url as before): Kurve [Audio Visualizer] - KDE Store
AUR: plasma6-applets-kurve

Just want to say, great looking widget with a fitting name. Thank you!

1 Like

I don’t know how this things work so forgive me if this is a stupid request, but is it possible to release a bin version of some sort on the AUR, I am asking this because I saw it had a lot of dependencies (also from the AUR) and sometimes I see packages in the AUR has both a Git version for compiling and also a bin version that I guess is more like a “normal” package you download from the official repositories.

I think it should be possible, but I don’t have plans to do it myself right now, but feel free to anyone wanting to make one.

I saw it had a lot of dependencies (also from the AUR)

Maybe something is wrong in your side? It doesn’t depend on any other AUR packages, just official ones

If you want to avoid building from source I guess you could instead use the KDE Store version and install ‘cava’ ‘python’ ‘python-websockets’ ‘qt6-websockets’ manually, with that combination the widget will run in “fallback” mode and everything should work the same, maybe just a bit slower due to the communication with cava being done through a websocket instead of a QProcess

OK, I’m sorry, I may have misunderstood. I just saw on the AUR page you linked , and it listed 7 other AUR packages, I thought all those packages had to individually compile, leaving a total of 8 AUR packages on the system.

No problem! By the way, the ones from AUR will have an AUR on the right side, for example this package does depend in other AUR packages along with some official ones :slightly_smiling_face:

Ah now I see it, they have listed 2 packages on the same line, I read it like 1 package, so I thought all ended with (AUR) but that was of course just the (Git) alternative.

1 Like

Tried this on Debian Sid. Cant get it to work. No visualization at all.
I installed from KDE Store.

I click on “start cava” when I right click on the plasmoid, but with a left click on the plasmoid it still says “cava is not running”:

❌ CAVA is not running

Widget version: 0.4.0

CAVA version: e]0;cavaacava

Using ProcessMonitorFallback: true

Widget install location: /home/eazy/.local/share/plasma/plasmoids/luisbocanegra.audio.visualizer/

So I guess Kurve is not talking with cava on my machine. Running cava in console works fine.

I don’t have a packet called “qt6-qtwebsockets” but I have installed these packages installed:

qml6-module-qtwebsockets
libqt6websockets6
python3-websockets
python3-pyqt6.qtwebsockets
cava

Any suggestions?

Maybe cava is crashing, please try installing the git version:

git clone https://github.com/luisbocanegra/kurve.git
cd kurve
kpackagetool6 -t Plasma/Applet -u package
systemctl --user restart plasma-plasmashell.service

It will show you the cava command which you can test on a terminal:

Did not work :confused: Clicking “Start CAVA” does nothing. Starting cava from console works, so perhaps it has something to do with websocket (don’t know much how websocket works)?

I use easyeffects. Could that interfere somehow? I did test with a source that does not use easyeffects as well.

I think it’s failing to either instantiate the Process monitor fallback or something is causing it not to get the cava output from the python script.

Can you check the output of journalctl --user -xu plasma-plasmashell -f

If you can’t figure it out I will try on a VM later today

Here is the output:

journalctl --user -xu plasma-plasmashell -f
jul 05 18:41:43 debian plasmashell[819613]: Mimetype Job returns. "image/png"
jul 05 18:41:43 debian plasmashell[819613]: Received a suitable dropEvent at  QPoint(1222,626)
jul 05 18:41:43 debian plasmashell[819613]: Bailing out. Cannot find associated dropEvent related to the TransferJob
jul 05 18:41:43 debian plasmashell[819613]: Creating menu for:  "image/png"
jul 05 18:41:43 debian plasmashell[819613]: kf.kio.core.connection: Socket not connected QLocalSocket::PeerClosedError
jul 05 18:41:43 debian plasmashell[819613]: kf.kio.core: Connection::send() called with connection not inited
jul 05 18:58:20 debian plasmashell[819613]: qt.qml.context: file:///usr/share/plasma/plasmoids/org.kde.plasma.quicklaunch/contents/ui/IconItem.qml:192:13 Parameter "mouse" is not declared. Injection of parameters into signal handlers is deprecated. Use JavaScript functions with formal parameters instead.
jul 05 18:58:20 debian plasmashell[819613]: qt.qml.context: file:///usr/share/plasma/plasmoids/org.kde.plasma.quicklaunch/contents/ui/IconItem.qml:199:13 Parameter "mouse" is not declared. Injection of parameters into signal handlers is deprecated. Use JavaScript functions with formal parameters instead.
jul 05 18:58:36 debian plasmashell[819613]: qrc:/qt/qml/org/kde/desktop/MenuItem.qml:84:13: QML Shortcut: Shortcut: Only binding to one of multiple key bindings associated with 9. Use 'sequences: [ <key> ]' to bind to all of them.
jul 05 19:04:04 debian plasmashell[819613]: kf.plasma.quick: location should be set before showing popup window

Tried to install different packages from Debianś repo (stab in the dark method), but cant make it to work. I have to give up unless someone else have an idea.

I don’t know if it will but I’ll ask if it can be added to the ChaoticAUR. But it looks great I’m hoping someone pkgs it for nix some day but, it works nice on my arch drive.