|
1
|
1 #pragma once
|
|
|
2 // foobar2000-versions.h
|
|
|
3 // foobar2000 SDK version and target API levels are declared in this header
|
|
|
4
|
|
|
5 #ifdef _WIN32
|
|
|
6 // Windows
|
|
|
7
|
|
|
8 // This SDK does NOT SUPPORT targets older than API 80 / foobar2000 v1.5
|
|
|
9 #define FOOBAR2000_TARGET_VERSION 80 // 1.5, 1.6
|
|
|
10 // #define FOOBAR2000_TARGET_VERSION 81 // 2.0
|
|
|
11
|
|
|
12
|
|
|
13 #ifdef _M_IX86
|
|
|
14 #define FOOBAR2000_TARGET_VERSION_COMPATIBLE 72
|
|
|
15 #else
|
|
|
16 // x64 & ARM64 targets
|
|
|
17 // Allow components made with special foobar2000 v1.6 SDK with x64 & ARM64 targets
|
|
|
18 #define FOOBAR2000_TARGET_VERSION_COMPATIBLE 80
|
|
|
19 #endif
|
|
|
20
|
|
|
21
|
|
|
22 #else // _WIN32
|
|
|
23 // Not Windows
|
|
|
24 #define FOOBAR2000_TARGET_VERSION 81
|
|
|
25 #define FOOBAR2000_TARGET_VERSION_COMPATIBLE 81
|
|
|
26 #endif // _WIN32
|
|
|
27
|
|
|
28 // Can safely use foobar2000 v2.0 features?
|
|
|
29 #define FOOBAR2020 (FOOBAR2000_TARGET_VERSION>=81)
|
|
|
30
|
|
|
31
|
|
|
32 // Use this to determine what foobar2000 SDK version is in use, undefined for releases older than 2018
|
|
|
33 #define FOOBAR2000_SDK_VERSION 20241203
|
|
|
34
|
|
|
35 // cfg_var downgrade support, experimental, intended for specific components only.
|
|
|
36 // Allows new style configStore data to be imported back to old foobar2000 friendly cfg_vars.
|
|
|
37 // Intended to retain config when reverting FOOBAR2000_TARGET_VERSION value of 81 or newer to 80.
|
|
|
38 // Takes effect with FOOBAR2000_TARGET_VERSION 80 only.
|
|
|
39 // Place FOOBAR2000_IMPLEMENT_CFG_VAR_DOWNGRADE somewhere in your code to declare init calls for cfg_var downgrade. Or, if you wish to call manually, call cfg_var_reader::downgrade_main() before accessing your cfg_vars.
|
|
|
40 // Spurious calls to cfg_var_reader::downgrade_main() will be ignored, only first one will take effect.
|
|
|
41 #define FOOBAR2000_SUPPORT_CFG_VAR_DOWNGRADE 0 |