Commit Graph

502 Commits

Author SHA1 Message Date
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
a39bfa1f01 Updated README.md to reflect the new libraries required
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-03-24 03:50:42 +01: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
cd4a76677f Added a couple of patches for different shaders
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-11 03:33:51 +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
59bff58f5c Updated README with mpv dependencies
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-05 06:15:48 +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