projectM-visualizer / projectm

projectM - Cross-platform Music Visualization Library. Open-source and Milkdrop-compatible.
https://discord.gg/mMrxAqaa3W
GNU Lesser General Public License v2.1
3.37k stars 375 forks source link

discussion: compatibility of presets & implementation of shaders #364

Closed auralarch closed 1 year ago

auralarch commented 4 years ago

I'm just curious…

Has anyone experimented with doing side-by-side comparisons of presets?

One 'side' running the Milkdrop plugin in the final release of Winamp; the other 'side' running the sdl app on a Mac. Use the same audio source for both, ensure that an identical set of presets is installed on both (including any textures or other required extras), set both apps to select presets in alphabetical order, configure as many of the other settings as possible to the same options…

This seems like an interesting & fun way to check for anomalies. Compare performance; see if anything that may not be working or implemented in the same way; discover how much of various presets is tightly controlled by the music and the parameters of the preset, and how much is left to chance.

milkdropper commented 4 years ago

It looks like https://github.com/mvsoft74/BeatDrop might be a good tool to test with. It seems to be completely based on the opensource Milkdrop2 and does loopback capture as well.

milkdropper commented 4 years ago

I grabbed two presets at random (I swear, no bias) and compared them side by side with BeatDrop.

The results are drastically different.

11.milk Video: https://streamable.com/w0gif1 This type of preset is always in motion. They look different.

EoS - glowsticks v2 03 music shifter edit b (Jelly V2).milk Video: https://streamable.com/6g7bbz This preset relies entirely on music. To get a really honest comparison I paused my music, reset both (hard transitions to it in both apps) then resumed the music while recording. They look different.

revmischa commented 4 years ago

Very interesting! I think it'd be a great project to look into the milkdrop source and compare https://sourceforge.net/projects/milkdrop2/files/milkdrop2_v2.25c_OPEN_SOURCED_20130514_orig_code.zip/download

kblaschke commented 2 years ago

There's definitely a huge amount of differences between Milkdrop and projectM. I've already fixed some issues in my fork, it's not merged yet, but from what I've seen there are numerous issues (EDIT: items with :heavy_check_mark: are fixed and merged into in current master):

Issues affecting Milkdrop 1.x features:

Shader issues:

kblaschke commented 1 year ago

With the above linked PR, most of the shader issues we had in the pst should be fixed. There will be a few remaining problems left, some which we probably can't solve due to differences between HLSL and GLSL. Only a few presets should be affected, so fixing the preset files might be a good approach (won't work for user-provided presets though).