1178ddfed5
Apply formatting
2022-03-28 12:22:54 +02:00
27798317ee
Give uncased variables a casing
...
Picked camelCase.
These variables will now be picked up on if we standardize our casing.
2022-03-28 12:22:54 +02:00
e63fc1f88c
Ensure array size correctness of rdft calls
2022-03-28 12:22:54 +02:00
02be000d97
Make w and ip arrays
2022-03-28 12:22:54 +02:00
a533f2876d
Use static_assert instead of #error directive
2022-03-28 12:22:54 +02:00
db209a5808
Use std::max instead of fmax
2022-03-28 12:22:54 +02:00
969dcec7a2
Use std::abs instead of fabs
2022-03-28 12:22:54 +02:00
3c133f34aa
Use std::array in PCM tests
2022-03-28 12:22:54 +02:00
198a031f28
Remove unused member function freePCM
2022-03-28 12:22:54 +02:00
6458c0e8df
Move member initialization from initializer list
2022-03-28 12:22:54 +02:00
631e764691
Move AutoLevel's initialization from constructor
2022-03-28 12:22:54 +02:00
fd25439653
Use size_t for loop indices
2022-03-28 12:22:54 +02:00
91347f95d3
Change raw arrays to std::array
2022-03-28 12:22:54 +02:00
12afc044a0
Make values constexpr where possible
2022-03-28 12:22:54 +02:00
6563bd8174
Parser fixes to support multiple equations/assignments per line.
...
Just a few preliminary changes to fix the issue with multiple equations in a single line in shape and wave equations, e.g. "x=1; y=2;".
2022-03-28 11:54:43 +02:00
bf8a4b4f29
Improve timer precision by using std::chrono::high_resolution_clock.
...
Also removes the need to use the OS-specific time APIs.
2022-03-28 11:47:25 +02:00
99b55db617
Move around public members
2022-03-19 21:26:48 +01:00
c07ebb3bd9
Smash together two methods
...
detectFromSamples and getBeatVals into calculateBeatStatistics.
They didn't make sense individually, I think this makes more sense.
2022-03-19 21:26:48 +01:00
4ff1c459c9
Don't reset members unnecessarily
2022-03-19 21:26:48 +01:00
a7b05c9f96
Construct BeatDetect with a reference, not pointer
2022-03-19 21:26:48 +01:00
8d926120fe
Use list initialization for floats
2022-03-19 21:26:48 +01:00
964a3a3d59
Move array initialization to declaration
2022-03-19 21:26:48 +01:00
1ec9fddb20
Remove remaining isnan definition
2022-03-19 21:26:48 +01:00
323eef32ec
Remove projectM_isnan macro
2022-03-19 21:26:48 +01:00
902fe0fd14
Use std::min instead of conditional branches
2022-03-19 21:26:48 +01:00
a099d1bdb3
Change uses of fmax to std::max
2022-03-19 21:26:48 +01:00
c5b136c7f9
Move some includes from header to implementation
2022-03-19 21:26:48 +01:00
872cb90962
Use std::array::fill for array initialization
2022-03-19 21:26:48 +01:00
720fbccf0c
Move member initializations from constructor body
2022-03-19 21:26:48 +01:00
d3aee70916
Remove empty non-virtual destructor
2022-03-19 21:26:48 +01:00
7c13766dc6
Apply formatting
2022-03-19 21:26:48 +01:00
3dc41df328
Change C style arrays to std::array
2022-03-19 21:26:48 +01:00
83182a70ea
Add .clang-tidy
2022-03-19 21:12:03 +01:00
31864c0c73
Update gitHub Actions workflow on Windows to use VS 2022
2022-03-08 00:18:47 +01:00
2f8b188195
Some CMake build fixes, mostly affecting Windows builds.
...
- Got rid of the WORD_BITS usage in omptl_tools.h, which is a macro that is only defined on UNIX platforms, but not MSVC.
- Removed export(PACKAGE) call, as it's been disabled/deprecated since CMake 3.15 and puts a half-baked config into the registry. Better install and use CMAKE_PREFIX_PATH.
- Removed set_and_check commands in the package config file, added missing include for the target definition file.
- Added "lib" prefix to the static library file on Windows as it will otherwise have the exact same name (projectM.lib) as the shared library exports file.
- Enable shared library building on Windows by default as on all other platforms.
- On Windows, search for package GLEW as it's required.
2022-02-28 18:04:25 +01:00
9e9f4ca1b2
Removed all outsourced code/files from the repo and updated README.md with new links.
...
New subproject/data locations:
- presets/presets-cream_of_the_crop: https://github.com/projectM-visualizer/presets-cream-of-the-crop
- presets/presets-En_D: https://github.com/projectM-visualizer/presets-en-d
- presets/textures: https://github.com/projectM-visualizer/presets-milkdrop-texture-pack
- src/EyeTune: https://github.com/projectM-visualizer/frontend-uwp
- src/museum: https://github.com/projectM-visualizer/museum
- src/projectm-android: https://github.com/projectM-visualizer/examples-android
- src/projectM-emscripten: https://github.com/projectM-visualizer/examples-emscripten
- src/projectM-jack: https://github.com/projectM-visualizer/frontend-qt
- src/projectM-libvisual: https://github.com/projectM-visualizer/frontend-libvisual-plug-in
- src/projectM-libvisual-alsa: Deleted.
- src/projectM-moviegen: https://github.com/projectM-visualizer/tools-moviegen
- src/projectM-MusicPlugin: https://github.com/projectM-visualizer/frontend-music-plug-in
- src/projectM-pulseaudio: https://github.com/projectM-visualizer/frontend-qt
- src/projectM-qt: https://github.com/projectM-visualizer/frontend-qt
- src/projectM-sdl: src/sdl-test-ui
- src/projectM-test: tests
2022-02-18 18:01:03 +01:00
fdf70b47a6
Replace current default preset collection with the 'cream of the crop' and 'En D'
2022-01-19 12:15:26 +02:00
bb1f06d657
SDL: Allow using the system default capture device
...
By default use the "system default" capture device, by passing name == NULL
to SDL_OpenAudioDevice. Ctrl-I still iterates through all capture devices
as usual.
2021-12-17 10:07:11 +02:00
49d513f719
Updating a broken link in README.md
...
There was a link to the website for the "helix" game made by ghostfire games. The link was broken.
I replaced the broken link with an archived link.
https://web.archive.org/web/20180628174410/http://ghostfiregames.com/helixhome.html
2021-12-16 20:42:06 +02:00
024ab5aa04
Add definition for WORD_BIT on Windows.
...
The WORD_BIT macro is defined in xopen_lim.h, but missing on Windows. Just setting it to the appropriate value in CMake helps.
2021-12-10 18:28:39 +01:00
dc4ed71673
Add DPI awareness flag to the SDL app on Windows.
...
This was fixed for the manually created VS solution in commit 3171507 , but not yet ported to CMake.
2021-12-05 23:37:15 +01:00
67f26977a5
Replaced Perlin noise textures with the original Milkdrop noise textures.
2021-12-05 23:02:01 +01:00
f06662bc8a
Removed the original Milkdrop 2 sources to decrease checkout size.
...
In addition the original repo, projectM keeps a mirror for reference at https://github.com/projectM-visualizer/milkdrop2/
2021-12-05 22:26:20 +01:00
d58e3bc5e6
Removed Xcode project files. Please use CMake instead.
...
One exception: The Music.app plug-in still has its own project, as it's not yet ported to CMake.
2021-12-05 22:26:02 +01:00
365d676c88
Wrap floating point numbers with float() in HLSLParser output.
...
Integer floats (e.g. 2.0) will lose their decimals in the conversion (2.0 -> 2), causing issues with GLES shader compilation as it doesn't allow implicit conversion. Writing it as "float(2)" will tell the compiler to interpret this correctly. The same is already done for function parameters, but was not done here for some reason.
2021-12-05 22:25:48 +01:00
7bd188246f
Added four missing built-in equation parameters.
...
Also use smoothing parameter in spectrum waveforms and the same aspect ratio values in both equation and shader code.
2021-11-25 21:43:46 +01:00
3dd19d6c63
Removed Visual Studio project files. Please use CMake instead.
...
One exception: EyeTune still has its own solution, as it's a UWP app and not yet ported to CMake.
Also removed the AppVeyor build config as it was broken for a long time. Updated documentation so it no longer states devs can use the pre-made solution files.
2021-11-25 21:43:28 +01:00
8aaf51c04d
Updated build documentation, removing all references to autotools.
2021-11-25 21:42:23 +01:00
c1ce0a1b51
Removed autoconf/automake build system files. Please use CMake instead.
2021-11-25 21:42:23 +01:00
5cf41fff63
Improve overlay text rendering performance and a few Renderer cleanups.
...
For each line of text, glText was fully reinitialized, which meant that the font texture, vertex and fragment shaders were recompiled and uploaded to the GPU, then destroyed again. This created a huge FPS drop, especially in GLES environments.
Also moved the text rendering into a separate class and cleaned up the initialization of the Renderer class, moving all default values to the header and deleting the default constructor to avoid unwanted effects.
2021-11-25 21:41:43 +01:00