Commit Graph

344 Commits

Author SHA1 Message Date
Almamu
be0fc25e72 chore: better error reporting for parameters, highlighting --help usage. fixess #303 and should improve #275
Some checks failed
CMake / build-x11 (ubuntu-22.04) (push) Has been cancelled
CMake / build-x11 (ubuntu-24.04) (push) Has been cancelled
CMake / build-x11-wayland (ubuntu-22.04) (push) Has been cancelled
CMake / build-x11-wayland (ubuntu-24.04) (push) Has been cancelled
CMake / build-wayland (ubuntu-22.04) (push) Has been cancelled
CMake / build-wayland (ubuntu-24.04) (push) Has been cancelled
2025-05-17 03:23:05 +02:00
Almamu
3c334aac29 chore: better error reporting after fix for #300
Some checks failed
CMake / build-x11 (ubuntu-22.04) (push) Has been cancelled
CMake / build-x11 (ubuntu-24.04) (push) Has been cancelled
CMake / build-x11-wayland (ubuntu-22.04) (push) Has been cancelled
CMake / build-x11-wayland (ubuntu-24.04) (push) Has been cancelled
CMake / build-wayland (ubuntu-22.04) (push) Has been cancelled
CMake / build-wayland (ubuntu-24.04) (push) Has been cancelled
2025-05-15 22:28:23 +02:00
Almamu
555b488951 fix: make background id optional so usages of -b, --bg do not require a fallback background (as expected) fixes #300 2025-05-15 22:20:20 +02:00
Alexis Maiquez
7bffcded09
feat: make custom version of glslang to improve shader compatibility + random improvements (#291)
* feat: added glslang and spirv-core for handling shaders, should provide better results than current systems

* fix: brought back proper include placement, should fix some shaders not working

* chore: dial down required version to 330

* fix: crash when taking screenshot

* fix: use glReadnPixels for X11 copying to be more memory safe

* chore: reverted part of last commit

* chore: delay initialization of browser until it's used once

* chore: do not initialize web browser unless explicitly needed

* chore: cleanup filesystem functions to use containers directly

* chore: memory cleanup fixes

* chore: fix glReadPixels for older opengl versions

* chore: remove shader patches as they shouldn't be needed anymore

* chore: initialise variables

* chore: update deps, actions and readme

* chore: make use of custon glslang and SPIRV-Cross

* Revert "chore: update deps, actions and readme"

This reverts commit c3fbc9340b.

* chore: update actions to include submodules

* chore: do not depend on SPIRV-Tools

* fix: added log10 macro

* feat: update to latest glslang (swizzle and vec2/vec3/vec4 implicit casting to float)

* revert: delayed initialization of cef was causing issues, reverted

* chore: re-organized web wallpaper support to use custom scheme and better handle multiprocessing

* chore: make use of external repos for all deps instead of copying things manually and more cleanup work

* chore: wrong include file used in CGLSLContext.cpp

* chore: fix wayland generation folder not being present

* feat: somewhat support TEXB0004

* chore: improve function call matching and fallback to more lax method if no function is found

* chore: changed shader compilation slightly so they're passed onto glsl just once

* feat: swap android's fft implementation (which wasn't right) with kissfft's and fix update frequency issues

* chore: added missing dependency

* chore: added missing dep to PKGBUILD

* feat: add testing tools to run over all backgrounds and getting output data

* chore: jail CDirectory to the basepath and prevent accessing data outside of the main directory

* chore: process script now scales the previews so the html file is not too big

* chore: add showcase gallery to the README.md

* chore: update README

* chore: some readability improvements on code

* chore: fix segfault after code cleanup

* chore: make use of std::filesystem::canonical instead of basepath and slight typing changes on texture objects

* chore: fix path detection being wrong, make use of std::filesystem::path on CContainers

* chore: cleanup of the core part of the project

* chore: bring back std::move and make some methods const where it makes sense

* feat: added a pretty printer for easier debug and comparison between different versions of linux-wallpaperengine

* chore: refactored shader compilation code once more to be easier to follow and fixed the longstanding bug of #include not being added in the right place

* chore: more debug info for the pretty printer

* fix: some textures applied were not the right ones

* chore: properly set combos based on textures

* feat: take into account project properties for shader values
feat: proper parsing of combo values in shaders
fix: shader units weren't linked as they should
chore: more support for detecting shader things automatically

* fix: blending mode for passes using the wrong value
fix: shader uniforms from project properties should now be taken into account

* chore: use ubuntu 22 and ubuntu 24 as builders, ubuntu 20 is retired

* chore: use ubuntu 22 and ubuntu 24 as builders, ubuntu 20 is retired

* chore: hopefully fix github actions build

* refactor: simplified working with properties, constants and shader variables

* chore: remove a couple of todos that aren't needed anymore

* chore: simplify the texture detection a little bit, still work left to do

* fix: regression on texture setup not working properly

* fix: filenames with dots were not being handled properly

* chore: remove some uselesss messages

* chore: fixed std::string json values not casting anything to it as it was assumed

* fix: null user value for constants means it cannot be modified by the user

* chore: remove exception when a shader constant uses a non-existant property

* fix: angles can be an user setting too, also added detection for animation frames to show a warning

* fix: ensure variable information is not commented out by a line comment

* fix: shader includes weren't being processed properly

* chore: update to latest glslang and SPIRV-Cross to support non-integer array indices

* chore: make use of auto where it made sense

* feat: make use of in/out promotion on glslang-WallpaperEngine
feat: use glslang-WallpaperEngine linkin process as an extra validation

* chore: improve scripts for running the app

* chore: hide background structure dump behind a command-line switch

* chore: rewritten bloom effect as a json object inside C++ so it's easier to follow

* chore: removed deprecated parameters and switched to argparse instead of getopt
fix: clamping mode wasn't applied by background properly, only globally

* chore: removed help prompt from the output unless actually required

* fix: web subprocesses weren't launching due to parameter's parsing, temporal fix

* feat: added material command copy support

* feat: do not initialize some subsystems if they're disabled or not used by backgrounds

* chore: ignore type in combos as only seems to be used in the editor

* chore: update to latest glslang-WallpaperEngine changes

* chore: delete uniforms if they already exist before setting

* chore: more cleanup and fixes

* chore: more cleanup and fixes

* chore: more cleanup and fixes

* chore: update file functions to make use of shared_ptr/unique_ptr instead of copying things around

* chore: more changes to unique_ptr and shared_ptr

* chore: more changes to unique_ptr and shared_ptr

* chore: more changes to unique_ptr and shared_ptr
feat: improved render initialization process to make it easier and simpler to add new drivers (no more #ifdef in CWallpaperApplication.cpp)

* chore: change all is/as castings to use typeid so no string comparison takes place

* chore: more cleanup, default initialization of values wherever possible

* chore: moved more things to std::unique_ptr and std::shared_ptr

* chore: moved more things to std::unique_ptr and std::shared_ptr

* fix: browser context usage crashed the app

* chore: the setting controls fullscreen detection creation the same way audio works

* fix: ensure that at least one frame is rendered before detecting fullscreen windows

* chore: slight changes to output and documentation to properly reflect current build configuration

* chore: fix mipmap texture creation

* chore: fix pass uniforms not taking into account fragment shader's uniforms
chore: keep processed code in the shader sent to opengl so it appears on RenderDoc

* chore: formating issues by codefactor

* chore: do not use new to allocate the pretty printer

* fix: strchr wasn't properly done for window geometry

* chore: add recording mode for status page generation

* chore: update .gitignore

* chore: update script to make use of video generation instead of the old python scripts

* chore: also copy project.json so it can be used on the site too

* fix: regression on invisible images not being rendered

* feat: add option to disable camera parallax

* chore: add the reversing tools I have locally

* chore: mention some of the common issues in the README.md

* chore: take submodules into account for archlinux

* chore: missed cd "$pkgname" in arch's prepare step
2025-05-10 19:34:59 +02:00
Almamu
f71136fd46 fix: #256 non-string properties weren't supported 2024-11-08 03:44:44 +01:00
Almamu
7a4324b2ff chore: use proper defines for wayland buttons and improve click handling code 2024-11-08 03:20:25 +01:00
Almamu
ea9ca543f9 feat: support basic single-mouse-click and release events for web backgrounds 2024-11-08 03:07:42 +01:00
moetayuko
bdaf1ec6e4
implement wayland fullscreen detector (#261)
* feat: wayland fullscreen detector

* feat: pause mpv when fullscreen
2024-11-08 01:54:26 +01:00
Alexis Maiquez
1c12951a6a chore: update readme
chore: some X11 files were being included in wayland-only builds
2024-10-12 20:59:51 +02:00
Alexis Maiquez
c400f49275 fix: screenshot taken was black 2024-10-12 20:25:56 +02:00
Alexis Maiquez
7278f2f817 fix: replace FreeImage with stb_image and stb_image_write
fixes #204
2024-10-12 20:11:14 +02:00
Alexis Maiquez
5f58178cdc fix: emitter distance can be a vector 2024-10-01 04:58:15 +02:00
Alexis Maiquez
7c6bebc524 fix: adjust visibility default values 2024-10-01 04:36:41 +02:00
moetayuko
5a45c9a26b
Workaround errors when loading wallpapers made recently (#244)
* Add sampler2DComparison and uint to known types

* Ignore unsupported `#require` preprocessor directive

`#require LightingV1` is found in generic4.frag, genericimage4.frag, ...

* Mark _alias_* textures as FBOs

Currently not supported, but prevents loading from the file, thereby
avoiding CAssetLoadException
2024-09-03 00:23:56 +02:00
Almamu
e94ad21835 fix: extra definition no longer needed 2024-07-14 04:15:41 +02:00
Almamu
88da5d096e chore: added missing definition for FF_API_OLD_CHANNEL_LAYOUT 2024-07-14 04:03:42 +02:00
Almamu
2ab211df2e chore: move definition of old ffmpeg api to CAudioStream.h 2024-07-14 03:58:13 +02:00
Almamu
94f382dcd2 fix: build on old ffmpeg versions 2024-07-14 03:57:03 +02:00
Almamu
770eb0f0ef fix: av fifo usage should fix build on arch now 2024-07-12 19:36:04 +02:00
Almamu
06038b8fc4 fix: video should mute if audio is not enabled 2024-07-12 19:22:56 +02:00
Almamu
ac117e3905 fix: default assets directory wasn't properly detected 2024-07-12 19:21:06 +02:00
Almamu
50d3bced8e fix: hopefully fix running from arch's package 2024-06-06 21:40:13 +02:00
Almamu
6c27d94115 fix: #219 window mode wasn't rendering because of an issue with default background detection 2024-05-21 14:20:08 +02:00
Almamu
9712f20140 fix: improve how default background is determinated, hopefully improves #219 2024-05-21 14:14:03 +02:00
Almamu
cdfa4ff7a1 chore: some more verbosity on error messages when loading assets 2024-05-16 15:22:26 +02:00
Almamu
4dbb3cc422 chore: renamed members not properly named 2024-05-11 19:01:46 +02:00
Almamu
d652691088 chore: cleanup typing issues and various other warnings here and there 2024-05-11 18:39:16 +02:00
Almamu
8a8741dbff chore: clang-format 2024-05-11 17:38:25 +02:00
Almamu
c44a86d218 fix: missing unistd include 2024-05-11 17:28:53 +02:00
Almamu
953ef01749 feat: conditionally enable wayland and x11 support 2024-05-11 17:19:42 +02:00
Almamu
a14ded12d7 fix: issue #211 2024-05-10 04:06:12 +02:00
Almamu
8dbb4aa7e8 chore: linting 2024-05-07 04:24:46 +02:00
Almamu
f20b2a0c37 fix: web backgrounds should work on multiple screens now 2024-05-07 04:23:59 +02:00
Almamu
9e271a2b39 chore: remove notion of default background in render, each screen needs it's own independent render 2024-05-07 04:15:20 +02:00
Almamu
235cda8c94 chore: move cef initialization to its own context 2024-05-07 03:59:40 +02:00
Almamu
006d4ee3d0 chore: move wallpaper types to their own folder 2024-05-07 02:55:10 +02:00
Almamu
02fd7effbb chore: linting 2024-05-05 23:48:31 +02:00
Pasalc
ca3c73740c
Basic support for web wallpapers (#196)
* Updated gitignore

* Basic Web support

* Basic Cmake(not working)

* Working CEF

* Clean up Render/CWeb

* Download CEF in CMAKE

* Fixed compile error(excesive comma)

* Fixed CWeb compile error(scaling mode)

* Commented flag in CEF flag(-fno-rtti) which disabled dynamic cast

* Commented CEF compiler flags for MacOS

* Added third_party to gitignore

* Fixed libvulkan.so.1 error (deleted file entirely)

* Removed cefsimple, CefShutdown in signal, cleaned up cmake a bit

* Updated .gitignore

* Get render function to previous version

* Fixed typo in coment

* Fixed tab

* Removed shaders too

* Fix codefactor issues
2024-05-05 23:44:26 +02:00
Alexis Maiquez
e28780562b fix: default background is not necessary
fix: added --bg to the help output as it was missing

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-12-24 17:06:19 +01:00
Alexis Maiquez
c90cc4d915 feat: add option to disable audio processing
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-12-14 03:21:06 +01:00
Alexis Maiquez
bd5e452d34 fix: support shaders without textures (like flat), improves #184
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-12-14 03:10:52 +01:00
Alexis Maiquez
170af5ff7c fix: black backgrounds on latest wallpaperengine version (g_Color4 was added)
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-12-14 02:59:00 +01:00
Alexis Maiquez
b8fd1eefac chore: clang-format and code formatting done with an extra of code cleanup
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-12-14 02:20:34 +01:00
Alexis Maiquez
f89cc438f8 validate only PKGV part, ignore number
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-12-12 02:17:49 +01:00
Alexis Maiquez
89a2178308 CDirectory should not use sLog for errors
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-12-12 02:13:06 +01:00
Alexis Maiquez
b58cd97255 remove define code for shaders that was generating errors
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-12-12 02:00:43 +01:00
Alexis Maiquez
432814f956 hopefully added snap directories too (#166)
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-12-12 01:23:49 +01:00
Alexis Maiquez
865d3a0d5d add flatpak paths to asset and content discovery (#166)
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-12-12 01:15:21 +01:00
Alexis Maiquez
13ba153042
Merge branch 'main' into viewport-clamp 2023-12-12 00:57:51 +01:00
Ryan
827912e465 App now exits happily after providing help msg 2023-12-12 00:51:27 +01:00