Commit Graph

344 Commits

Author SHA1 Message Date
vaxerski
244722387b flip v in LS output 2023-04-20 13:00:03 +01:00
Vaxry
6838ca66cc
Merge branch 'Almamu:main' into main 2023-04-19 22:37:56 +01:00
Alexis Maiquez
37b40ec29f Do not block on calls to pa_mainloop_iterate for sound recorder, should improve #158
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-04-19 23:34:48 +02:00
vaxerski
e473516bb7 fix rendertime inaccuracy 2023-04-19 22:10:08 +01:00
vaxerski
b505db103c allow specifying outputs with a flag 2023-04-19 21:02:44 +01:00
vaxerski
5b1ea68164 fix egl config 2023-04-19 20:52:35 +01:00
vaxerski
d14442fd7f fix full size 2023-04-19 20:26:09 +01:00
vaxerski
fd810295d7 fix monitor geom 2023-04-19 20:24:15 +01:00
vaxerski
e5b447bdc9 initial impl 2023-04-19 20:18:20 +01:00
Alexis Maiquez
13e43bada7 Added parameter to configure fullscreen detection
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-04-18 06:56:25 +02:00
Alexis Maiquez
9a5913921c Hopefully properly support Fullscreen and Passthrough images
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-03-30 02:01:07 +02:00
Alexis Maiquez
ee5c2b6106 Fixed visible value for effects not being correct
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-03-29 22:12:56 +02:00
Alexis Maiquez
bf47510d0d Hopefully improved pa_stream_unref issues
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-03-29 22:10:10 +02:00
Alexis Maiquez
b70264e54a Fix for #155
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-03-29 20:03:43 +02:00
Alexis Maiquez
93380ae229 Added some window hints
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-03-27 01:36:01 +02:00
Alexis Maiquez
a89d8ebb22 Added basic support for audio processing so backgrounds can react to sound playing in the system
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-03-26 18:18:21 +02:00
Alexis Maiquez
ca471c04fc Placed audio detectors in the right folder
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-03-24 02:51:17 +01:00
Alexis Maiquez
45761fb858 Added sound muting when apps are fullscreen too
Finally closes #150 and #152

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-03-24 02:48:49 +01:00
Alexis Maiquez
978f56cdca Added sound playback detection to mute when something else plays audio
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-03-24 02:36:42 +01:00
Alexis Maiquez
cc7ec0561d Separated X11 fullscreen code detection from the output driver as they don't have to work at the same time
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-03-23 23:38:23 +01:00
Alexis Maiquez
84f6018e1a Added application state to keep track of enable/disable audio and volume changes when things go fullscreen
Removed .clang-format as it's not useful

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-03-23 09:10:51 +01:00
Alexis Maiquez
f499454957 Fixed identation problems
Added comments all over the codebase to explain things a bit better
Improved CApplicationContext to be a bit more self-explanatory
Abstracted CRenderContext access away into a helper that every render class should use

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-03-23 01:42:01 +01:00
Alexis Maiquez
92fa11b0a6 Take into account g_KeepRunning for the fullscreen detection mechanism
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-03-21 23:42:52 +01:00
Alexis Maiquez
6802511bb9 Added support for detecting full-screen windows on X11 output
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-03-21 23:41:46 +01:00
Alexis Maiquez
847cd56ddf Add GLFW error handler to show error messages, hopefully gives more descriptive errors (hopefully helps #149)
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-03-21 07:50:15 +01:00
Alexis Maiquez
6d5c5b7825 Hopefully addressed #148 while detecting the patches folder
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-03-21 07:35:41 +01:00
Alexis Maiquez
a0d1a7202f Fixed build of release versions
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-03-21 07:15:38 +01:00
Alexis Maiquez
b69ce8ba57 Added support for running multiple X11 backgrounds off the same instance
Window mode now has extra settings for setting the position and size
Fixed audio not muting when --silent was used

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-03-21 07:07:36 +01:00
Alexis Maiquez
e2d80a074c Add messages for [COMBO] types
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-11 05:51:35 +01:00
Alexis Maiquez
5e384d968d Fixed multiple defines of the same thing
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-11 05:34:35 +01:00
Alexis Maiquez
37631e9c40 Upgraded to shader version 330
Added support for shader patches
Removed useless DEBUG define in favour of NDEBUG

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-11 03:21:45 +01:00
Alexis Maiquez
4e0f02f64d Added support for using zcompat shaders, should fix audio bars shaders for the most part
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-10 22:33:48 +01:00
Alexis Maiquez
b16cc2fd3b Brought back some changes that were removed with previous revert
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-09 00:28:50 +01:00
Alexis Maiquez
64d9c2e4e6 Fix crash on effects parsing
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-09 00:22:48 +01:00
Alexis Maiquez
3d8452ee9a Revert "Properly clamp volume value"
This partially reverts commit 95713ae439.

# Conflicts:
#	src/WallpaperEngine/Application/CApplicationContext.cpp

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-08 23:59:39 +01:00
Alexis Maiquez
99a4935825 Add composelayer checks back until we figure out how they work
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-08 18:55:27 +01:00
Alexis Maiquez
732c60da46 More code cleanups
Update .clang-format

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-08 18:48:19 +01:00
Alexis Maiquez
48a91ff297 More code cleanup
Input is now handled by context

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-08 14:57:17 +01:00
Alexis Maiquez
a8ef45265c Fix build with old ffmpeg
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-08 14:34:22 +01:00
Alexis Maiquez
d2e82e72d8 Small code cleanups
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-08 14:27:41 +01:00
Alexis Maiquez
26f6156f34 MPV should respect volume levels now
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-07 11:29:57 +01:00
Alexis Maiquez
95713ae439 Properly clamp volume value
Removed all usages of std::make_pair

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-07 04:35:47 +01:00
Alexis Maiquez
55760aee4d More code cleanup:
- Separated program args parsing and validation from initialization code
 - Application's main body in it's own class

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-07 04:17:51 +01:00
Alexis Maiquez
476d45be0a Fix a possible crash when a packet was freed on audio playback
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-07 04:16:43 +01:00
Alexis Maiquez
490718c22b Fix missing #if body for number of out channels
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-07 00:45:44 +01:00
Alexis Maiquez
456dd531cf Cleanup and rewrite of the audio resampling code to use non-deprecated code when possible
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-07 00:40:51 +01:00
Alexis Maiquez
b79444cdd9 Fix typo in last commit
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-07 00:05:13 +01:00
Alexis Maiquez
3df27e289b Brought back deprecated code for older ffmpeg builds
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-07 00:03:51 +01:00
Alexis Maiquez
ecd8ff3757 Applied the same context-driver treatment to the audio subsystem (still needs some extra work to ensure all audio plays fine and a good cleanup)
Fixed README.md to properly reflect all dependencies in the command examples
Added support for audio looping

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-06 22:35:46 +01:00
Alexis Maiquez
97ddc91ff5 Hopefully solved #81, should be improved at least
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-05 06:52:44 +01:00
Alexis Maiquez
e888bb452d Fix bloom effect FBO's not using GL_LINEAR, no more blocky bloom
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-05 06:45:14 +01:00
Alexis Maiquez
30bb8d6d72 Small cleanup of pass initialization code
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-05 06:36:07 +01:00
Alexis Maiquez
9bb0a40bc5 Simplified usage of jsonFindUserConfig
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-05 06:29:01 +01:00
Alexis Maiquez
7079d12e2a Switched video backgrounds to mpv (should fix all the videos that weren't playing sound or had random issues)
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-05 06:11:04 +01:00
Alexis Maiquez
a24b1923f6 Cleanup of code:
- use of auto in some places (more of this to come)
 - use for loops instead of iterators for most of the loops
 - extracted glfw/glew code into it's own class
 - make usage of std::filesystem instead of checking things with old C libraries

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-03 18:41:51 +01:00
Alexis Maiquez
d370e028ff Renamed CContext to CRenderContext to allow for the introduction of CAudioContext in following iterations
Improved logging and error reporting to be a bit more flexible

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-03 00:00:17 +01:00
Alexis Maiquez
4dc3a4bc01 Added g_PointerPositionLast
Improved delay calculation for parallax (should prevent backgrounds from flickering with big delays)
Fixed g_TexelSize having the wrong value and g_TexelSizeHalf not being defined

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-01 18:40:38 +01:00
Alexis Maiquez
e1fe215398 Undid some assumptions on how visible works as they were not entirely right
Effect's visible behaves a little weirdly :/ need to properly understand it

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-01 03:31:40 +01:00
Alexis Maiquez
92bdde2bd1 Renamed CUserSettingColor to CUserSettingVector3 as it makes more sense
CUserSettingVector3 are initializable with just one float value
Objects' origin and scale are now UserSettings too

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-01 03:10:38 +01:00
Alexis Maiquez
885221d602 Removed a missed line in previous commit
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-01 02:38:45 +01:00
Alexis Maiquez
fdd5bcb0b5 Removed old jsonFindUserConfig and updated to a new version using the CUserSetting classes
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-01 02:36:29 +01:00
Alexis Maiquez
176470dad9 Image color and alpha can now be user-settings
Removed old Color structures not useful anymore

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-01 02:08:05 +01:00
Alexis Maiquez
cd40950ade Fixed some shaders not getting properly compiled (missing part of the content)
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-01 01:07:09 +01:00
Alexis Maiquez
9cddb56f60 Added support for setting values to properties from command-line to modify how backgrounds look
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-01-31 22:07:59 +01:00
Alexis Maiquez
cf37fe388c Added support for usersettings in the bloom
Added casting for integer to double in json loading
Added support for dumping all available properties

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-01-31 21:37:38 +01:00
Alexis Maiquez
fc150576eb Object and effect visibility can now be compared to project's properties
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-01-30 13:34:02 +01:00
Alexis Maiquez
62af627ffa Added some missing texture formats to the definition
Added some extra settings for debugging

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-01-29 21:15:26 +01:00
Alexis Maiquez
6f570be911 g_ModelViewProjectionMatrix should now have the right values for passes (fixes sun not displaying properly in 2882477794)
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-11-11 17:09:47 +01:00
Alexis Maiquez
f4ccf40e14 Fixed background scaling (should improve #81)
Added some more debug information for renderdoc

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-11-06 12:48:55 +01:00
Alexis Maiquez
fa67fa5b00 Fixed bloom effect not being properly applied
Added support for userparameter on the clearcolor of the scene
Scenes should draw into the full framebuffer

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-11-05 10:50:55 +01:00
Alexis Maiquez
56ebb78287 Fix videos being flipped vertically (missed from last commit)
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-11-04 19:09:29 +01:00
Alexis Maiquez
672ea47d23 Bumped up to OpenGL 3.3
Added base VAO
Fixed scene image align issues and things being flipped vertically under specific situations

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-11-04 18:41:23 +01:00
Alexis Maiquez
0843f69edf Fix some backgrounds appearing flipped upside down, bloom effect now renders directly into the _rt_FrameBuffer as the flip happens after the scene is drawn completely
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-11-04 11:28:10 +01:00
Alexis Maiquez
ed1efdcd66 Added parsing for text properties
Simplified how passes rendering works and separated it into a two stages process
  Setup (prepares shaders, uniforms, attributes, etc)
  Render (only performs the actual rendering)

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-11-04 10:16:15 +01:00
Alexis Maiquez
d8d05363a9 Implemented proper alignment for images
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-11-04 10:13:01 +01:00
Alexis Maiquez
aa755bb221 Fixed scale for FBOs should default to 1
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-11-04 00:21:04 +01:00
Alexis Maiquez
691ac42e85 Added small helper to get user-customizable settings with defaults
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-11-04 00:04:05 +01:00
Alexis Maiquez
e24c19ff81 Added Missing braces that caused crashing on non-bloom backgrounds
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-11-03 23:34:21 +01:00
Alexis Maiquez
b5b7824233 Better approach on rendering the bloom effect, uses one less draw call
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-11-03 23:32:49 +01:00
Alexis Maiquez
cdaebbe893 Added support for camera bloom
Added support for virtual files

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-11-03 23:07:13 +01:00
Alexis Maiquez
625397ea0c Added a basic (and somewhat convincing) parallax effect for the camera
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-11-03 18:43:05 +01:00
Alexis Maiquez
c13d743022 Container access should happen through CContext
Textures now have a cache system that prevents loading them more than once

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-11-03 14:27:05 +01:00
Alexis Maiquez
5521e90155 Ignore composelayers for now
Added support for color blend mode
Main pass' blendmode should be normal
Last pass' blendmode should be the first's
Fixed order of glClear's so _rt_FullFrameBuffer is the right color at the right time
Simplified effect and pass creation code a bit more
Non-visible images should render the full chain into the pingpong framebuffers instead of to screen
Fixed an integer division not producing float numbers

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-11-03 13:14:52 +01:00
Alexis Maiquez
261bc696df Added some object labels in opengl so they're reflected on RenderDoc while on debug
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-11-02 09:28:42 +01:00
Alexis Maiquez
69657a0014 Ignore effects if there's none in the list
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-11-01 21:38:12 +01:00
Alexis Maiquez
4641420bb3 Fix image's GBO's not being the right size
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-11-01 21:12:30 +01:00
Alexis Maiquez
082af30c63 Cleanup of rendering code for images, there's functions not needed anymore
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-11-01 05:43:18 +01:00
Alexis Maiquez
e377960a87 Fix red textures being distorted
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-11-01 05:04:06 +01:00
Alexis Maiquez
7e6cb9a458 Simplified image rendering code further
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-11-01 04:00:34 +01:00
Alexis Maiquez
cb6f05ff27 Simplified image rendering code a bit so it's easier to follow
Improved detection of macros for shaders

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-10-31 12:09:14 +01:00
Alexis Maiquez
157966a528 Move glClear to the common point before the actual render of an image
Added work in progress reverse engineering of MDL files

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-10-31 07:05:22 +01:00
Alexis Maiquez
da6dca0473 Added missing glClear for simple images
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-10-29 14:03:05 +02:00
Alexis Maiquez
c9f8624b8b Reduced amount of glClears used in the rendering process
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-10-29 14:02:10 +02:00
Alexis Maiquez
a13d2f265b Fixed regression for spritesheets not working properly
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-10-28 18:43:12 +02:00
Alexis Maiquez
7b7d699371 Implemented proper dependency detection for images
Simplified texture decision graph and preload it so render is quicker
Improved material detecion on shaders

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-10-28 18:21:29 +02:00
Alexis Maiquez
9ff33ef61f Support for specifying FBOs texture flags
Further improvements on detection of combo values for shaders
Support for detecting visibility settings on effects

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-10-28 15:45:35 +02:00
Alexis Maiquez
4d5cdf57b2 First attempt at automatically detect orthographic projection's size
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-10-28 09:29:56 +02:00
Alexis Maiquez
1b1bec879d Added missing code for previous video FPS settings
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-10-28 07:38:57 +02:00
Alexis Maiquez
94777fc34b Added support for packages PKGV0017
Changed how some properties are loaded to provide default values

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-10-28 06:21:21 +02:00
Alexis Maiquez
ab308b2c63 Improve texture size detection to prevent possible crashes on normal textures (not wpengine textures)
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-10-28 05:17:26 +02:00
Alexis Maiquez
70d815c183 Properly detect texture sizes so effects using smaller mask textures are properly applied
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-10-28 05:06:21 +02:00
Alexis Maiquez
4e3254e843 Improved detection of "previous" textures (fixes 2370927443)
Added support for PKGV0018
Try to prevent crashing when shaders do not compile and go with whatever can be displayed

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-10-26 09:09:13 +02:00
Alexis Maiquez
8955ba791c Bumped up shader version to 150 (work on shaders not compiling for #115 and #117)
Improved jsonFindDefault to not crash when the value types do not match (should partially fix #116)

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-07-15 12:20:12 +02:00
Alexis Maiquez
09effd0303 CFBO frame dummy values added
Added combo properties support
Bumped up GLSL version to 130 and added some extra definitions

This work goes on to #115, although the background won't start up yet because of shader compilation issues

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-07-14 22:12:46 +02:00
Alexis Maiquez
ec6164c4cf ~ fix audio thread not stopping when a signal for stopping is received
should fix #107

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-06-10 14:19:46 +02:00
Alexis Maiquez
e5ef7bd53e ~ updated shader compiler to look for the first function, not just main
should fix #106

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-06-10 14:04:22 +02:00
Alexis Maiquez
e51734e4f9 ~ better fix for #103
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-06-09 12:33:38 +02:00
Alexis Maiquez
cf2e31a606 ~ quick fix for shader compilation with nested includes, should fix #103
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-06-09 12:12:50 +02:00
Alexis Maiquez Murcia
a12d05a61d + added placeholder code for audio playback inside videos (disabled for now)
~ fixed video looping not working properly (fixes #102)

Signed-off-by: Alexis Maiquez Murcia <almamu@almamu.com>
2022-06-01 20:35:15 +02:00
Alexis Maiquez Murcia
7acac874fa ~ Includes should be after all variable declarations and before the main function, fixes #97 and #100
Signed-off-by: Alexis Maiquez Murcia <almamu@almamu.com>
2022-06-01 20:12:23 +02:00
Alexis Maiquez Murcia
f4988158ad ~ Keep original X messages as they're kind of useful for debugging
Signed-off-by: Alexis Maiquez Murcia <almamu@almamu.com>
2022-05-10 00:18:26 +02:00
Alexis Maiquez
28f0868caa Check for XSetIOErrorExitHandler so old Xlib versions can work just fine
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-05-08 14:47:34 +02:00
Alexis Maiquez
6808f31cd6 Handle XIO errors to keep the background running as much as possible, should fix #91
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-05-08 14:14:36 +02:00
Alexis Maiquez
cd3c024c48 Merge branch 'main' of git@github.com:Almamu/linux-wallpaperengine.git 2022-05-08 03:49:36 +02:00
Alexis Maiquez
e3aa82c2ed Fix ratio calculation not being exactly right
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-05-08 03:49:30 +02:00
Alexis Maiquez
eb14099c4c Removed SDL_mixer in favour of ffmpeg for audio decoding
Added extra option for general audio volume

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-05-08 03:37:32 +02:00
Alexis Maiquez Murcia
fca645b25a ~ Fixed RG88 and R8 textures not loading properly
~ Fixed combo setting based on the textures supplied to the image
~ Fixed vec4 shader constants not using the default value
  Should fix #87

Signed-off-by: Alexis Maiquez Murcia <almamu@almamu.com>
2022-04-07 23:34:03 +02:00
Alexis Maiquez Murcia
8450413105 The "max" function has the parameters in the reverse order, fixes #86 not booting up
Signed-off-by: Alexis Maiquez Murcia <almamu@almamu.com>
2022-04-07 20:45:19 +02:00
Alexis Maiquez Murcia
693f3c5d0e Added different PKGV versions to the list of supported packages, should fix #85
Added some extra logging to the shader compilation to have an easier debugging experience

Signed-off-by: Alexis Maiquez Murcia <almamu@almamu.com>
2022-04-04 20:59:04 +02:00
Alexis Maiquez
cad78c58f9 + Support animated images in the background
~ ITextures can now also return sub-textures width and height
+ added proper code to handle animated images to properly play at normal speed

  this should actually fix #79 for good

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-03-06 01:28:31 +01:00
Alexis Maiquez
34635ba6ac ~ fixed video background playback being broken
~ CTexture should properly pick up the right width and height for animated backgrounds too

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-03-01 00:29:26 +01:00
Alexis Maiquez
64d2f77d41 + added support for reading multiple images from a texture
first steps to fix #79

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-02-28 23:48:43 +01:00
Alexis Maiquez
f4955f1531 - removed dependency on std::filesystem
~ moved some things into CContext so main is a bit cleaner
~ moved wallpaper object creation into CWallpaper so main is a bit cleaner

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-02-28 14:54:45 +01:00
Alexis Maiquez
0aefcbe1a0 ~ fixed backgrounds not rendering in the proper positions under some specific configurations
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-02-28 02:22:46 +01:00
Alexis Maiquez
5bc0525493 ~ reorganized context initialization so opengl is ready
~ moved pixmap, gc and image creation to the initialization
  TODO: SUPPORT SCREEN SIZE CHANGES (THIS MIGHT NEED REINITIALIZATION OF THINGS)
~ moved fbo creation to initialization as it won't change anymore
~ reverted render code to the original loop as now the framebuffer is exactly as big as the whole display
~ moved glReadPixels off the wallpaper as that's code is exclusively used for screen rendering and not general rendering
~ XChangeProperty forces the update of the background, otherwise the compositor stops refreshing the screen and the background gets stuck
~ updated viewport variables to be integers instead of floats
~ reverted frame rendering code to be simpler and added the option to specify a framebuffer as target instead of screen

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-02-28 02:03:47 +01:00
Hynak
a2222b05ef Revert changes due to introducting flickering. 2022-02-26 19:41:02 -05:00
Hynak
520ceddf48 Fixed memory leak due to forgetting to move initializer code. 2022-02-26 19:06:18 -05:00
Hynak
2d12903185 Moved display, pm, and gc to class members. 2022-02-26 17:46:19 -05:00
Hynak
caf79766dc Consolidated the renderImage function into render. 2022-02-26 17:40:16 -05:00
Hynak
a10a994da5 Fixed issue with screens not at 0, 0 not rendering. Also cleaned up. 2022-02-25 14:56:17 -05:00
Hynak
6eaea71086 Enable compositor support 2022-02-25 14:30:27 -05:00
Hynak
c11c6928ea Fixes issue #59's origial issue 2022-02-25 14:23:37 -05:00
Alexis Maiquez
131801b7f0 ~ quick and dirty fix for composite color not being the right value (need to verify that this is actually what should happen)
fixes @C0nvert's #59 issue

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-02-23 09:50:55 +01:00
Alexis Maiquez
42b8c92c1c ~ Fix compilation with latest avcoded library
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-02-23 08:45:06 +01:00
Alexis Maiquez
20c4ad3652 + Added better logging for asset loading errors and some extra information, should help get better information on #59
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-01-31 19:40:22 +01:00
Alexis Maiquez
fa2720f07c ~ Fixed multiple screens not getting a background drawn
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-12-04 23:49:28 +01:00
Alexis Maiquez
577b81215b Merge branch 'main' of git@github.com:Almamu/linux-wallpaperengine.git 2021-12-04 23:45:09 +01:00
Alexis Maiquez
18ab051d47 ~ Fix background setup not working properly after the implementation of mouse support
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-12-04 23:44:17 +01:00
Alexis Maiquez
e08a252f03 + Added brightness reading for image objects
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-12-04 23:15:56 +01:00
Alexis Maiquez
afe7452340 + added support for alpha and color loading for images
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-12-04 21:57:21 +01:00
Alexis Maiquez
816e0a6ddf ~ Hopefully take into account object scale properly
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-12-04 03:54:46 +01:00
Alexis Maiquez
49a5f9e2ab + added proper framebuffer clearing for passes
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-12-04 02:50:11 +01:00
Alexis Maiquez
b55f2e8bf4 + Added PKGV0015 support
+ Added basic support for mouse position on shaders (still needs to be adjusted for backgrounds that are too big for the screen)
  (this makes XRAY effects work)

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-12-03 02:02:46 +01:00
Alexis Maiquez
d0572b257f ~ Combos can have no default value
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-12-02 22:00:43 +01:00
Alexis Maiquez
342522cd1d + Added handling for floating point precision qualifiers on type detection
+ Fixed textures not being detected properly on images that do not have any source

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-12-02 21:33:50 +01:00
Alexis Maiquez
13bcd52e8c ~ Fixed regression in composite layer handling
~ Properly fixed usage of "previous" as texture

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-11-30 23:49:08 +01:00
Alexis Maiquez
b920e94870 ~ Fixed some backgrounds being black because of wrong composite layer ordering
~ Videos should no longer appear vertically mirrored

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-11-30 21:32:19 +01:00
Alexis Maiquez
96fb8a6700 + Added some more default values for shaders so genericimage2 displays properly
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-11-29 14:37:09 +01:00
Alexis Maiquez
7db3618350 + Added parsing for shader constants that have extra information
+ Added support for slider properties

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-11-29 13:56:50 +01:00
Alexis Maiquez
9d2e9b43ee ~ Fixed an infinite loop in the shader compiler
+ Added more valid variable types to the shader compiler so compilation doesn't fail

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-11-29 13:36:15 +01:00