I made this long ago (circa 2007) using VC++ 6. The code is surely a bit of mess considering I was newbie at the time (well I'm still now). Surprisingly, with a few tweaks, it still works. Basically, this is just an mp3 player. The key points are:
- The UI/controls (buttons, seek bar, volume bar, clock/time, playlist) are just heavily skinned MFCs. Drag and drop folder is supported
- DirectShow is used to play mp3 files
- The histogram control is manually created. Audio sample which runs through the DirectShow pipeline are intercepted using a custom DirectShow filter, copied, and fed to the FFT engine to generate histogram animation
- Requires lib files (strmbase.lib/strmbasd.lib) from (https://github.com/microsoft/Windows-classic-samples). Specifically in (https://github.com/microsoft/Windows-classic-samples/tree/main/Samples/Win7Samples/multimedia/directshow/baseclasses)
Does not support non ASCII characters in mp3 file name