Commit Graph

16 Commits

Author SHA1 Message Date
35d3112463 Use correct casing 2022-05-29 15:29:54 +02:00
2f2a591375 Remove usage of traverse(Container&) 2022-05-29 15:29:54 +02:00
128ade3127 Remove bool macros 2022-05-29 15:29:54 +02:00
1ee932a23c Refactored default waveform math and drawing.
Also added Milkdrop's wave smoothing algorithm to make the waveforms look less pointy.

Now very closely matches Milkdrop's math and rendering style except some very minor scaling issues.

Will now render wave mode 8 (spectrum) even if not finished/enabled in the original Milkdrop. Also, Milkdrop does for some reason not use the "mystery" parameter to rotate linear waveforms (modes 6-8) even if the source suggests it. projectM will do it, but there are probably no presets that use it purposely.

Also worth noting: The wave_a parameter has no effect in both Milkdrop and projectM. The wave is always drawn fully opaque.
2022-03-29 12:11:21 +02: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
3f3ea5d0c4 Fixed a few memory management issues with presets.
Mainly two problems:
- MilkdropPresetFactory deleted a private reference-typed member in MilkdropPreset. Changed this into a plain pointer which is now checked and properly cleaned up.
- In the library interface class, projectM, the active preset pointers were not deleted before the factors, which lead to a use-after-free when the presets tried to dereference the factory pointer.
2021-07-04 15:49:38 +02:00
147c4e0e89 Reformatted some code and updated .clang_format file. 2021-07-04 15:49:38 +02:00
b4888d2d24 milkdrop2 defaults to wrap=true (#464)
Co-authored-by: Matthew Bellew <matthewb@labkey.com>
2021-02-15 13:27:55 -08:00
67a1999e8b Default param values (#458)
* default params closer to milkdrop behavior
also avoid div-by-zero in PresetFrameIO using default values

* default params closer to milkdrop behavior
also avoid div-by-zero in PresetFrameIO using default values

* comments

Co-authored-by: Matthew Bellew <matthewb@labkey.com>
2021-02-11 09:51:02 +02:00
e8343b3f72 Fix off by 1 qvar errors, var names 2020-01-31 22:41:37 -05: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
1593d10656 sort of progress w/ comp/warp shader programs 2018-06-12 09:35:08 +03:00
85c799c60c Fix typo 2018-04-26 22:34:23 +02:00
3c80aa3062 Im back!
git-svn-id: https://projectm.svn.sourceforge.net/svnroot/projectm/trunk@1230 6778bc44-b910-0410-a7a0-be141de4315d
2009-07-10 02:29:31 +00:00
88b1e1805d fixes to represet
git-svn-id: https://projectm.svn.sourceforge.net/svnroot/projectm/personal/carm/represet@1196 6778bc44-b910-0410-a7a0-be141de4315d
2008-10-25 08:08:27 +00:00
814c0c2ddf encapsulating native / milk files
git-svn-id: https://projectm.svn.sourceforge.net/svnroot/projectm/personal/carm/represet@1174 6778bc44-b910-0410-a7a0-be141de4315d
2008-09-19 22:47:04 +00:00