This is highly experimental code. Use at your own risk!
I'm not a C++ programmer and just playing around here, so please be careful. I expect to have a lot of memory leaks and/or doing bad practices here!
My code is licensed with the WTFPL.
All used libraries and the foobar SDK are licensed under different license agreements. Please look at the specific project for further details.
- WTL 10.x
- TinyXML
- SQLite3 amalgamation source
- SQLiteCPP
- Foobar2000 SDK (I used 2022-01-04, but newer versions should also be fine)
- MS Visual Studio (at least version 2010, I use 2022 Community Edition, 2022 SDK is for VS2019)
- Extract Foobar2000 SDK to root folder
- Extract TinyXML source to root folder
- Extract WTL's Include folder to wtl folder
- Extract SQLite3 amalgamation source to sqlite3
- Extract SQLiteCPP and copy the .cpp files to sqlite3. Then copy the files from includes/SQLiteCPP/.h to sqlite3/SQLiteCPP
- Start Visual Studio and open the foo_subsonic.sln
- Right click the solution in VS and Retarget solution, set target of all projects to your current VS and SDK
- Add IncludePath
../../wtl/Include
to foobar2000_sdk_helpers; add IncludePath../wtl/Include
to libPPUI
Directory structure:
foo_subsonic/
foo_subsonic/
foobar2000/
libPPUI
pfc/
sqlite3/
SQLiteCPP/
tinyxml/
wtl/
Include/
Alternative build setup:
- Extract files as Steps 1-5 above
- Open cmd at project folder
cmake -A Win32 -B build -S .
cmake --build build --config Release
- The plugin is now in
build/Release/foo_subsonic.dll
Usage and FAQ can be found in the Wiki
- Drag and Drop is not working (any help appreciated)
- List should have a built-in search box (edit control) to do direct filtering