glava

GLava - OpenGL audio spectrum visualizer

GPL-3.0 License

Stars
1.2K

Bot releases are visible (Hide)

glava - "native" transparency hotfix Latest Release

Published by jarcode-foss over 5 years ago

  • fixed a spelling error in utils/premutliply.frag that broke native transparency in most modules
glava - Premultiply hotfix and stdin hotfix for vec4 datatypes

Published by jarcode-foss over 5 years ago

disclaimer: this release breaks "native" transparency, use 1.6.3 instead if you require it.

  • Fixed a critical issue with --stdin that caused the alpha channel to be garbage data
  • Added a premultiply step to bars to allow for proper handling of the alpha channel on "native" transparency. This is disabled by default, assign USE_ALPHA to 1 in bars.glsl to enable.
glava - 'circle' hotfix, stdin binding support

Published by jarcode-foss over 5 years ago

disclaimer: this release invokes undefined behavior due to a bug (fixed in later versions)

  • A problem with artifacting in circle has been fixed, see #107
  • --stdin has been added, which binds simple GLSL datatypes to STDIN in shaders. This evaluates to a uniform, and thus can be used to stream some data at runtime to GLava. This feature may be expanded on later (with backwards-compatible support for the current format/arguments)
glava - FIFO support, new GLSL options, and many fixes.

Published by jarcode-foss over 5 years ago

  • FIFO support has been added. See README.md for details, also see #78
  • Added sampling modes for the GLSL smoothing pass to allow for more accurate output
  • Added support for disabling shader passes through GLSL, see #97
  • Enhanced rendering and options for graph, courtesy of @arch1t3cht30, see #97
  • Fixed clickthrough on Openbox (and potentially other window managers), see #80
  • Fixed the two lowest-frequency bars having the same value while running the bars module
  • Fixed some build issues on Ubuntu, musl, see #94, #91
  • Fixed a bug with circle that only manifested on some integrated graphics chips, see #70
glava - Request option & other fixes

Published by jarcode-foss almost 6 years ago

  • Added a --request option to allow users to supply requests that would normally go in rc.glsl through the command line.
  • Fixed a memory leak that occurred when the GLava window was repositioned (or the root pixmap updated) while "xroot" was selected.
  • Fixed a bug where preprocessor directives would not work at the end of the file, due to not having a trailing line break.
  • Most compilation output has been now limited to the --verbose option.
glava - System include prefix & 'graph' module fixes

Published by jarcode-foss almost 6 years ago

  • Added a @ include prefix that reads from the system (installation) configuration path, rather than the active path (usually @ -> /etc/xdg/glava, : -> ~/.config/glava).
  • Added some new functionality to the GLSL preprocessor that allows re-occurring defines to override the previous value instead of failing with an error
    • These two changes allow for including both the system and user module configurations into fragment shaders, which helps prevent breaking changes (see this reply in #73).
  • The radial module now has configurable offsets, see #69
  • The graph module has been optimized, has new defaults for the COLOR macro, and has new options to disable/enable the outline and highlight, see #76

Thanks to @Patiga, who exclusively reported the mentioned issues.

glava - Static memory leak hotfix

Published by jarcode-foss almost 6 years ago

  • Fixed some minor leaks introduced through shader instantiation (non-growing).
  • Fixed a bug where munmap was called on a buffer allocated through malloc. This didn't cause any issues on most systems, due to the underlying malloc implementation.
glava - Window obstruction hotfix

Published by jarcode-foss about 6 years ago

  • Fixed a critical issue that caused GLava to stop rendering if it was previously obstructed.
glava - Makefile changes & desktop defaults

Published by jarcode-foss about 6 years ago

  • i3, i3-gaps, and AwesomeWM now all have suitable defaults in their respective env_*.glsl files.
  • The dependency on the glad submodule is no longer needed, but is optional. Pre-generated headers and bindings are provided in glad.c and glad.h, however users are free to generate their own by cloning into the submodule and running make glad in GLava build directory.
  • make uninstall now properly respects DESTDIR
  • SHADERDIR has been added as an option to the Makefile to customize where shaders are installed and used from (use with make and make install), by default it is /etc/xdg/glava.
  • EXECDIR has also been added as a Makefile option to configure where the glava executable is installed to, by default it is /usr/bin/.

This update may have some breaking changes for package maintainers, my goal was to avoid glad causing problems with unreproducible builds.

glava - Window visibility & makefile changes

Published by jarcode-foss about 6 years ago

  • -march=native is no longer default in the Makefile. Sorry @coderobe!
  • XROOTPMAP_ID is now monitored to handle changes to the root window background with `"xroot" transparency
  • GLava now automatically suspends rendering when it is minimized (parent unmapped) or completely obscured, see #68. As a result #request setfullscreencheck has defaulted to false since the built-in behavior achieves the same effect in most circumstances.
glava - Unmanaged windows & other fixes

Published by jarcode-foss about 6 years ago

  • Added support for unmanaged windows. Use "!", "!+", "!-" with setxwintype for "unmanaged", "unmanaged above" and "unmanaged below" windows respectively. This is generally a last-resort option for misbehaving window managers and causes GLava to bypass it. "!- will run GLava on the desktop on a variety of window managers that do not obstruct the root window. This (should) fix two issues:

    • Users who wish for GLava to appear over fullscreen windows can use "!+", as it is generally not possible otherwise, see #65

    • i3 users who wish to position GLava on the desktop with "!-", see #6

    it also may be possible to combine reparenting with unmanaged windows for some interesting configurations.

  • The bars module now has additional options, see #64

  • Default buffer sizes in the PulseAudio server are now used when reading audio input to reduce the chance of buffer overruns when reading from certain audio devices, see #63

GLava is also now an official Arch package (starting from v1.5.1), thanks to @coderobe!

glava - Destruction fixes

Published by jarcode-foss about 6 years ago

  • GLava now properly destroys its own renderer, see #47
glava - Window manager detection & other fixes

Published by jarcode-foss about 6 years ago

  • Added a --desktop flag, which automatically detects the window manager and uses provided presets that override rc.glsl. Users are encouraged to switch to using this, although existing configurations will work fine.

  • Added #request setclickthrough [true/false], which enables use of the XShape extension to click through windows. Only some window managers will work with this, and this option is enabled by default for "desktop" window types.

  • Added #request setfullscreencheck [true/false], which enables the use of a check for fullscreen windows that should prevent GLava from rendering. Previously this was enabled by default.

  • Added "pinned" option for addxwinstate. This keeps the window pinned on all desktops.

  • Fixed issues with clickthrough not working previously on desktop windows, see #56

  • Fixed issues when starting GLava without an active window manager. It now waits for one to be present, see #54

  • Provided defaults for use with KWin and the --desktop flag that finally close #4.

glava - Dynamic GLX function loading

Published by jarcode-foss over 6 years ago

  • GLX functions are now loaded dynamically to properly handle cases with hybrid graphics, see #41
glava - Memory leak & desktop window hotfix

Published by jarcode-foss over 6 years ago

  • Fixed an issue where desktop windows were not having the clickthrough workaround implemented due to case-sensitive string comparisons, see #37

  • Fixed a memory leak associated with xlib usage, see #33

glava - XWayland hotfix

Published by jarcode-foss over 6 years ago

  • Although unsupported, XWayland sessions will now use the glx backend by default, improving usability with Wayland compositors.
glava - Clickthrough hotfix

Published by jarcode-foss over 6 years ago

  • Attempted to implement a clickthrough feature for "desktop" window types using the XShape extension, see #9 and #32. Credit to @Aaahh for the contributions required to implement this.

  • Fixed various compile warnings that were displayed when using -Wall.

glava - Glava 1.3

Published by jarcode-foss over 6 years ago

  • Added RGBA color parsing for GLSL code and directives (does not wor…
    …k within #request directives). The behaviour converts #3ef708ff -> vec4(0.243, 0.967, 0.031, 1.0). If the alpha component is omitted, it is assumed to be 1.0. The parsing occurs during compile time, so it does not incurr any performance penalty.

  • Fixed stray [DEBUG] messages that were errornously being printed

  • Actually added support for GLFW 3.1, see issue #13

  • Fixed issue with some WMs not responding to GLava's window types and hints, see #17

  • Fixed alpha blending not working, radial and circle image quality should be drastically improved on xroot and none opacity settings.

  • Added --version command line flag

glava - Glava 1.2

Published by jarcode-foss over 6 years ago

  • Attempted to add support for GLFW 3.1, see issue #13
  • Added configurable solid background color, see #16
  • Fixed issue with excessive file reads from ~/.Xauthority see #15
glava - GLava 1.1

Published by jarcode-foss over 6 years ago

  • Added circle module
  • Added anti-aliasing to the radial module, written into the shader itself
  • Default configuration values should create more appealing visualizers now
  • Massive performance improvements, see issue #10