Tested VS versions:[VS2013] 12.0.31101.00 Update 4[VS2015] 14.0.22310.1 DPA bug in recent Visual Studio compiler is preventing correct compilation of certain parts of the foobar2000 SDK in release mode with whole program optimization enabled.In particular, all calls to playable_location virtual methods turn into nonsense ( disasm shows inlining of methods of one of playable_location subclasses when working with a playable_location pointer with no knowledge of what the actual implementation is ).This leads to nonsensical pointers returned by metadb_handle::get_path() among other things.To mitigate this, add the following switch to your compiler command-line:/d2notypeoptAlternatively, disable whole program optimization:Project's Property Pages => Configuration Properties => General => Whole Program Optimization: No Whole Program OpimitzationIf you encounter further issues, you can use an older toolchain version; VS2010 was used for all foobar2000 development for several years without known issues.Update: posted on MS Connect-https://connect.microsoft.com/VisualStudio/...dll-environment
Fixed, thanks for reporting.The link was right, just the label was wrong.
Also, I'm glad to inform you that the free Community Edition of VS2015 has all the features you'll ever need for making foobar2000 components; no missing resource editor etc as with old Visual Studio Express editions.
Since you have VS2015, try foo_sample from the latest SDK. When it prompts you to upgrade compilers when you first open it, say yes.See this thread for how to include WTL which is a requirement not mentioned when you download it. https://hydrogenaud.io/index.php/topic,111311.0.html
edit: Just to confirm, you did click OK when opening the solution file for the first time?
You'll need to implement the componentinfo service to make the component show up on the Components page. You can do this via the DECLARE_COMPONENT_VERSION macro.
Put something like this in the empty foo_whatever.cpp file:Code: [Select]#include "stdafx.h"DECLARE_COMPONENT_VERSION( "foo_whatever", "0.0.1", "Sample foobar2000 component.\n" "See http://yirkha.fud.cz/progs/foobar2000/tutorial.php");That will be enough to know that our component was properly built and loaded.
#include "stdafx.h"DECLARE_COMPONENT_VERSION( "foo_whatever", "0.0.1", "Sample foobar2000 component.\n" "See http://yirkha.fud.cz/progs/foobar2000/tutorial.php");
You will need to declare a Preferences page as well. That minimal example will only make the component appear under the Components tab of Preferences, but not actually have its own page.
That's two paths, so you must be adding them as one path or something.
Yep confirmed fixed in VS2015 RTM.foobar2000 SDK has been updated, VS2015 is now properly supported.Included project file are still for VS2010 but you should have no trouble loading these into VS2015.Also, I'm glad to inform you that the free Community Edition of VS2015 has all the features you'll ever need for making foobar2000 components; no missing resource editor etc as with old Visual Studio Express editions.