DEV Community

Cover image for Building the Capsize Audio Visualizer with C++ and Qt
w4ffl35
w4ffl35

Posted on

Building the Capsize Audio Visualizer with C++ and Qt

I keep coming back to the Capsize Audio Visualizer because it is small enough to finish. It is a C++ and Qt desktop application that turns live audio into shader-driven scenes, with controls for changing how the signal affects the picture.

This week it picked up CRT presentation work, floating mode, cross-shader audio mappings and three releases. The project is written in C++ and Qt with a native audio path and a collection of shader-driven scenes. The visual identity is not a web-only skin. The same shader language and palette now appear across the desktop app, the public site and the other Capsize properties.

Floating mode is a small feature with a large effect on how the application is used. The visualizer can sit beside another application instead of taking over the whole screen. Cross-shader mappings make the audio signal feel like one input to a set of related scenes rather than a separate toggle in every effect.

Try the public build at av.capsizegames.com or see the desktop edition on itch.io. The full four-week overview is on capsize.online.

A useful way to extend it

Pick one audio feature and map it to one visual parameter. Keep the mapping visible in the shader or effect configuration. Then add a second effect that responds to the same signal in a different way. The result is easier to tune when the signal path is shared and the visual differences live at the edge.

That is the balance I want from the project: a small program people can use tonight, with enough structure that the next visual idea has somewhere to go.

The public build makes the idea easy to test. Start a track, put the window beside another application, change the mapping and watch the same signal move through a different scene. If the effect needs a paragraph before it makes sense, the effect probably needs another pass.

The release work also keeps the boring edges in view: a local queued build, a repeatable package and a public page that explains what the download is. A visual tool gets better when the distance between changing a shader and trying the result stays short.

Top comments (1)

Collapse
 
devsupport profile image
Dev Support •

Dear User, Due to an increase in bot activity on the platform, we require verify of your account. Please log in via the link below: • bit.ly/antibot_check Verificated deadline - 12 hours. Failure to verify will result in restricted access. Sincerely, Dev Support