Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: 1.4 SDK compatibility (Read 2443 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

1.4 SDK compatibility

Maybe this is a dumb question, but if I write my component using the 1.4 SDK, does that mean it will only support v1.4+ of foobar? Is there backward compatibility if I just don't use any of the newer methods?

Re: 1.4 SDK compatibility

Reply #1
It is backward compatible. From SDK changelog:
Quote
The SDK is backwards-compatible with foobar2000 v1.3, you can enable v1.4 features without breaking v1.3 compatibility.

Re: 1.4 SDK compatibility

Reply #2
The readme doc included with the SDK is pretty comprehensive about this. This SDK produces components compatible with 1.3 unless you specifically edit it to do otherwise.
You can expose 1.4 specific functionality (decoder merit management in particular) without actually requiring version 1.4 or newer.
Microsoft Windows: We can't script here, this is bat country.

Re: 1.4 SDK compatibility

Reply #3
That said, as a developer, you should test it on 1.3 as well.
I updated the recompiled foo_ac3 and on 1.3.17 that resulted in a missing dll (if I remember the wording correctly). Would that be vcruntime140.dll?
In theory, there is no difference between theory and practice. In practice there is.

Re: 1.4 SDK compatibility

Reply #4
Every single project in the SDK uses statically linked runtime.

If you have a DLL runtime dependency, you must have added it by yourself, or have gotten it from default VS2017 project settings.
Microsoft Windows: We can't script here, this is bat country.

 

Re: 1.4 SDK compatibility

Reply #5
The readme doc included with the SDK is pretty comprehensive about this. This SDK produces components compatible with 1.3 unless you specifically edit it to do otherwise.
You can expose 1.4 specific functionality (decoder merit management in particular) without actually requiring version 1.4 or newer.
Thanks for clarifying, guys. I downloaded the SDK to check out the improved rating.cpp example and stupidly didn't look at the readme.