~kaniini/lvis

lapine visualizer
presets: add radial blob preset
presets: qt 5.9 safe

refs

master
browse  log 

clone

read-only
https://git.sr.ht/~kaniini/lvis
read/write
git@git.sr.ht:~kaniini/lvis

You can also use your local clone with git send-email.

#LVis builds.sr.ht status

LVis is a project which implements a programmable audio visualizer. It is capable of generating high quality, high frame rate visuals using only software compositing. Presets are written in JavaScript, are fully turing-complete and have full access to rendering primitives.

#Why JavaScript?

LVis is built using Qt. Qt already includes a JavaScript implementation built on libv8 that integrates well with QObject. So, by using QJSEngine, we don't have to worry about the scripting details. It just works, and just working is a very compelling argument verses using something like Lua where we would have to build it all from scratch anyway.

LVis does not depend on any other Qt components other than QObject and QJSEngine. LVis visuals can be included into applications written with other toolkits, like Gtk.

#Why Software Rendering?

Software rendering allows for much simpler control over the render pipeline. More "advanced" projects, like projectM allow for preset authors to write custom pixel shaders, but the same effects can be accomplished by using the primitives built into the lvis renderer. Writing pixel shaders, while powerful, has a significant learning curve.

Also, software rendered images tend to have a certain aesthetic to them that the stuff generated by OpenGL pixel shaders simply don't.

#Screenshots

Screenshot

Screenshot

Screenshot

Screenshot

Screenshot