Commit Graph

8 Commits

Author SHA1 Message Date
7b2b60d61f Added a new preset file parser class.
Other changes:
- Renamed Parser to OldParser to make it clear this is going away.
- Removed all the useless "unit tests" which did not actually test anything.
- Added a new GTest-based test executable that can be run with CMake's CTest.
- Added unit tests for the new fileParser class, including test files.
2023-09-11 10:19:40 +02:00
6e795ec632 Only build either shared or static projectM and playlist libraries.
Target name is now just libprojectM::projectM for the main library instead of libprojectM::static or libprojectM::shared.

Now using CMake's default mechanism to select the resulting library type via the BUILD_SHARED_LIBS variable. Main use case will be working with the shared library, which is the default.

Playlist library now also builds as a shared library, including proper symbol exports.

Additionally, deleted the leftover TestRunner class and a few old and rather useless test cases.

Also added LLVM find_package call and as a link dependency if the build is configured for using (experimental) LLVM code.

Reorganized tests to link either one of the object libraries for unit testing.
2023-01-13 11:16:27 +01:00
b23b5ce25c Deleted all playlist-related code from libprojectM.
Note: SDL test UI won't compile after this commit. Will be fixed in a later commit, when the playlist library is done.
2022-11-21 19:56:28 +01:00
0fe87a2c04 Moved Pcm class tests to the unit test project.
Added a helper function to reset autoleveler, made it public as might come in handy if there's a gap (pause/resume, new track etc.) in the audio data.
2022-04-14 15:59:06 +02:00
5d80bf9f57 Fix casing (PCM.hpp) 2022-04-06 14:33:19 +02:00
c6de2ead7e Move Test::verify definition to .cpp
Part of removing the iostream included in PCM.cpp.
I noticed that TestRunner.cpp had a missing #include <iostream>.
By moving the definition to the .cpp, the definition may see <iostream>
without it leaking out to everything that includes TestRunner.hpp.
2022-03-28 12:22:54 +02:00
10faca9abf Cleanup PCM interface (#467)
* rewrite PCM interface
* AutoLeveler
* perf - quick check for no equations
* cleanup use of BeatDetect.beatSensitivity
Co-authored-by: Mischa Spiegelmock <me@mish.dev>
2021-02-20 13:52:17 -08:00
42fee50d64 Perf cleanup (#151)
* Param refactor
collected all the code that reached inside Param (InitCond, Per*Eqn, Expr, Parser) to read/write and stuffed it all back into Param.cpp
made Param extend Expr to avoid any perf penalty (I actually think eval() is a tiny bit faster now)

* presets/tests

* ALWAYS_MATRIX is used with PER_POINT

* use SSE2 to impove initialize_PerPixelMeshes() performance

* TestRunner
very, very simple test framework, but it's better than no framework
(consider investigating adopting something)

* ProgramExpr
2019-01-14 05:33:38 +00:00