Foobar2000:Development:SDK 2023-01-18 Release Notes

From Hydrogenaudio Knowledgebase
Revision as of 10:13, 18 January 2023 by DEATH (talk | contribs) (Created page with "Category:Foobar2000 Development = Overview = foobar2000 v2.0 SDK update with new beta 18 additions and bug fixes. This SDK, while retaining the ability to build componen...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.


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.