66380727b2
Create texture search path list in ProjectM class, pass it to TextureManager.
2022-09-09 00:45:58 +02:00
788a5ecaac
Class Renderer: Store TextureManager instance as unique_ptr for easier memory management
2022-09-09 00:45:58 +02:00
6906d4ed60
Class Renderer: Renamed members, removed more unused ones.
2022-09-09 00:45:58 +02:00
33523ffe63
Class Renderer: Made internally used member private, removed a few unused members.
2022-09-09 00:45:58 +02:00
0e026ac7af
Cleaned up TextureManager header, renamed members and fixed search path list usage.
2022-09-09 00:45:57 +02:00
3dab0dafc8
Quick fix: Cut off any text after end of shader's main() function
...
In a shader, the main function must be the last one declared. Everything following it isn't used and the HLSL compiler seems to simply ignore it. Some preset authors put credits after the closing bracket without //, which fails shader compilation in projectM. We'll now just cut off any text following the last closing bracket. One example preset is "martin - city lights.milk".
2022-07-25 12:05:46 +02:00
595a9a6cbf
Disable line smoothing which is not supported in GLES, use different GL constants for other calls.
...
Using "GL_CLAMP_TO_EDGE" could in theory make textured shaped look weird, but the image should ideally be filling the shape completely, so users will in practice never see the actual texture border.
2022-07-11 14:26:57 +02:00
a6293f63c8
Fix function name casing causing an error with threads disabled.
2022-07-11 14:26:57 +02:00
edf06e9940
Disable OpenMP & multi threading on emscripten.
...
Doesn't give any real speed improvements either due to WebAssembly limitations, so we just drop it for now.
2022-07-11 14:26:57 +02:00
460a2dcd84
suggested change for float cast
2022-06-27 19:09:34 +02:00
e73917d32a
did not mean to change float cast style
2022-06-27 19:09:34 +02:00
4ef7f44b8d
projectm_pcm_add_float_1ch_data to projectm_pcm_add_float
2022-06-27 19:09:34 +02:00
73042a9fca
Removed a filename that was added automatically to the wrong target by the IDE.
...
Had no build implications as it's an interface target.
2022-06-24 15:29:48 +02:00
4ad0242c60
Only search for system GLM library if user requests it.
...
Preferably (and by default) use the internal copy. There's rarely a need to use it from a system location, as it's just a header-only lib.
2022-06-09 10:49:14 +02:00
9298ae396c
Remove unused RenderItem* files
2022-06-09 10:48:57 +02:00
39ceea422b
Fix playlist loading check.
2022-06-06 18:50:50 +02:00
65a2496bfa
Removed parameters from ProjectM initializer functions and set aspect correction earlier.
...
All parameters were just values from the internal settings struct, which is readily available - no need to pass them on the stack.
2022-06-06 18:50:50 +02:00
b28d3762ab
Simplified ProjectM::RenderFrameOnlyPass2
2022-06-06 18:50:50 +02:00
828a0eb04a
Moved comments for ProjectM::RenderFrameOnlyPass1 to header.
2022-06-06 18:50:50 +02:00
3dbf4ecb4b
Instantiate PipelineContext directly.
...
The class has no real dependencies and sind we no longer need to hide internal dependencies we can just use it directly.
2022-06-06 18:50:50 +02:00
9dca6e7857
More cleanups in RenderFrame* methods.
2022-06-06 18:50:50 +02:00
f2e0b09bde
Added a FIXME for later improvements of async preset loading.
2022-06-06 18:50:50 +02:00
7334c8085b
A few cleanups in the RenderFrame functions.
2022-06-06 18:50:50 +02:00
1e25e2119c
Removed unused "interface" enum.
2022-06-06 18:50:50 +02:00
03f202859b
Moved inline implementations to ProjectM.cpp.
2022-06-06 18:50:50 +02:00
1af2b97e50
Remove ProjectM::DestroyPresetTools
...
Unique pointers are destroyed automatically during destruction of the class and the method isn't called from anywhere else.
2022-06-06 18:50:50 +02:00
0a271b8086
Remove unnecessary/dead code from ProjectM::InitializePresetTools.
...
Function is only called from constructors, so failing to initialize important subsystems would leave projectM unusable, and we can simply let the exception bubble up to the caller. Such exceptions are already being caught in the C wrapper.
2022-06-06 18:50:50 +02:00
576654d676
Build fix: rename a few missed instances of _settings to m_settings
2022-06-06 18:50:50 +02:00
2c2a830843
Reformatted ProjectM class code
2022-06-06 18:50:50 +02:00
5e104093b6
Add a space before trailing comments.
...
Comments being slammed right against the code looks weird.
2022-06-06 18:50:50 +02:00
db6959c3ab
Cleaned up member function parameters.
2022-06-06 18:50:50 +02:00
60f93d7de1
Use trailing return types.
2022-06-06 18:50:50 +02:00
b7e3943cc2
Move methods only used internally into private section.
2022-06-06 18:50:50 +02:00
73c6d2793c
Fixed member casing in ProjectM class.
2022-06-06 18:50:50 +02:00
5e5b35fdb8
Replaced behaviour FLAG_* constants with an enum.
2022-06-06 18:50:50 +02:00
27b1a57b82
Removed unimplemented members.
2022-06-06 18:50:50 +02:00
3cc3667347
Moved class members to bottom, replaced some types and added default initializers.
...
Mostly replaced raw pointers with std::unique_ptr for easier memory management. Probably not needed for many of those classes, but was the least intrusive change for now.
2022-06-06 18:50:50 +02:00
7488250cab
Removed framerate limiting code from ProjectM class.
...
The library should not hold up any external render loop. Waiting for vsync or achieving a target FPS value should be done by the outside application after presenting the render result.
2022-06-06 18:50:50 +02:00
c9b8d5e76a
Renamed ProjectM class members to have m_ prefix.
2022-06-06 18:50:50 +02:00
1385adb368
Cleaned up includes in ProjectM class.
2022-06-06 18:50:50 +02:00
f2b04480c0
Renamed projectM class to ProjectM
2022-06-06 18:50:50 +02:00
5da6ff1b29
Added missing OpenMP library in projectM_shared target.
...
Only required on macOS, but still important.
2022-05-29 15:49:52 +02:00
90bf1200bd
Fix CMake configuration SDL2 version output for the test UI.
2022-05-29 15:49:52 +02:00
eb96d22a63
Use CMake's FindOpenMP module and link to the target if found.
...
Also export the target for linking the static libprojectM library in downstream projects. This is not required for the shared lib, and in this case, missing OpenMP compiler/linker support will not fail the build.
2022-05-29 15:49:52 +02:00
a78a43d112
Add comment for future change
2022-05-29 15:49:14 +02:00
628bf3dad9
Rename frequency spectrum variables
2022-05-29 15:49:14 +02:00
640023b805
Improve const/noexcept correctness
2022-05-29 15:49:14 +02:00
0d8bb362bc
Move method definitions to .cpp
2022-05-29 15:49:14 +02:00
8be7f4589c
Factor out more common structure
2022-05-29 15:49:14 +02:00
15d2aa61bc
Remove unneeded isnan checks
...
These values would only be nan if the dft yielded nans.
This should never happen as long as the sound input isn't something
weird, like nan or +-inf.
2022-05-29 15:49:14 +02:00