Foobar2000:Development:SDK 2023-01-18 Release Notes
Overview
foobar2000 v2.0 SDK update with new beta 18 additions and bug fixes.
This SDK, while retaining the ability to build components for v1.5 & v1.6 series, allows you to utilize all features of foobar2000 v2.0 series.
Changes since last update
- SDK: Added fb2k::mainAborter(), returning reference to shared abort_callback that becomes set in late app shutdown; wraps async_task_manager method.
- SDK: New advanced preferences branch GUIDs
- SDK: Added audio_chunk::g_channelMaskName() helper returning user-friendly name of channel mask.
- SDK: Various audio_chunk methods cleaned up.
- SDK: FB2K_DECLARE_CONTEXT_MENU_ITEM() for declaring simple context menu items with one line.
- SDK: fb2k::isLowMemModeActive() for detecting low-memory mode introduced in foobar2000 v2.0 32-bit.
- SDK: Added file_info::meta_enumerate(), cleaned up various internals.
- SDK: FB2K_RUN_ON_INIT_QUIT(), FB2K_RUN_ON_INIT(), FB2K_RUN_ON_QUIT(), FB2K_ON_INIT_STAGE() for easily setting up functions to be called on app init/shutdown events.
- SDK: Callback merit system; allows control of order in which callbacks get called, so certain special-purpose callbacks can be guarnteed called before others.
- SDK: playback_stream_capture_v2 with interval controls, so you can create a realtime visualisation that reliably processes all played audio.
- SDK: search_index, introduced in late foobar2000 v2.0 beta, replacing library_index functionality (library_index is now wrapped to search_index). Allows faster library & playlist search using prebuilt index.
- SDK, PFC: Removed 16-bit and 24-bit float maniuplation helpers, for lack of test material or specifications.
- Helpers: cfg_window_placement cleanup + documentation update.
- Helpers: ThreadUtils removed outdated comments.
- Helpers: fb2k::readWriteLock - read/write lock class, similar to win32 SRW lock, but respecting abort_callback& when acquiring.
- Helpers: AAC audioSpecificConfig tools updated.
- Helpers: metadb_handle_set cleanup.
- Helpers: file_win32_wrapper updated with mitigation for unreliable GetFileInformationByHandle() with certain network shares.
- Helpers: fb2k::workerTool harderning against shutdown race condition crash due to referenced objects firing main thread callbacks.
- Helpers: Callback merit sorting helper (for core use only really).
- PFC: Substring search tools update
- libPPUI: CListControl fixed horrible bug breaking screen readers in 64-bit build.
- libPPUI: CListControl added greedy layout toggle. Old CListControl versions, from foobar2000 1.x SDK, always used greedy layout; old foobar2000 v2.0 betas didn't; now greedy layout is opt-out.