as already in src/projectM-pulseaudio/projectM-pulseaudio.desktop remove
extension
Fix an warning when run desktop-file-install
value "prjm16-transparent.svg" for key "Icon" in group "Desktop Entry" is an icon name with an extension, but there should be no extension as described in the Icon Theme Specification if the value is not an absolute path
so that projectM builds in a reproducible way
in spite of indeterministic filesystem readdir order.
See https://reproducible-builds.org/ for why this is good.
Without this patch, multiple .milk files varied between builds
in interesting ways:
--- "old//usr/share/projectM/presets/Geiss - All-Spark Polar.milk"
+++ "new//usr/share/projectM/presets/Geiss - All-Spark Polar.milk"
@@ -3,7 +3,7 @@
PSVERSION_WARP=2^M
PSVERSION_COMP=2^M
[preset00]^M
-fRating=4.000000^M
+fRating=2.0^M
* Testing using AX_HAVE_QT for configuring Qt compilation instead of pkg-config
* cleanup
* get RCC too
* try MOC without CXXFLAGS?
* need qt5-default package
* readme, unfuck pulseaudio compile
* already have ax_have_qt.m4
* fixes to add RCC to ax_have_qt
Major updates to Makefiles, please report any build time issues!
Adding/updating makefiles for Qt, Jack, and Pulseadio implementations
* detect if we have libpulseaudio, libsdl2, and qt5 and if so just enable them automatically without the user having to.
* jack support, travis build with pa/jack/qt
* pass config opts
* test
* test
* test
* don't always enable sdl
* better libsdl2 detection
* hopefully fixed qt/pulse/jack makefiles
* oops
* travis
* fix jack subdir
* jack fixup
* jack makefile
* libsdl 1 for jack
* jack builds yay (qt version)
* testqt
* readme
* let's always build test
* let's always build test
* sdl2 for travis build test
* qt is required for jack/pulse
This makes it easy to install all the relevant depdencies
on OSX. You can then build the project with:
nix-shell nix/shell.nix --run \
'./autogen.sh && ./configure.sh --enable-sdl && make'
Also remove calls of setlocale(LC_NUMERIC, "C"); in library,
which results in unexpected sideeffects in the rest of the process
where the library is used.
Same for the applications which also had this work-around added.
Work-arounds using setlocale had been added in
90aa2c8f38 & 196c374a74
revive projectM-test directory
new executable src/projectM-test/projectM-unittest
still need to update existing code SDL->SDL2
Add projectM-unittest to Travic CI
* 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
created matching allocate/release methods for PresetOutput, so there is no implicit dependency on behavior between projectM::switchPreset() and MilkdropPresetFactory::allocate()