Commit Graph

2256 Commits

Author SHA1 Message Date
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