Foobar2000:Development:SDK Change Log: Difference between revisions

From Hydrogenaudio Knowledgebase
No edit summary
(Replaced content with "Category:Foobar2000 Development Moved: https://www.foobar2000.org/changelog-sdk")
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Category:Foobar2000 Development]]
[[Category:Foobar2000 Development]]
=== 2023-09-06 ===
Moved:
* Support for making Mac foobar2000 components.
https://www.foobar2000.org/changelog-sdk
* Most of foo_sample ported to Mac OS.
* Included shared.dll source - some of it is required for Mac components to work.
* SDK: Various documentation errors/typos fixed.
* SDK: tag_processor::read_id3v2_trailing() disregard empty ID3v2 properly.
* SDK: output_impl end-of-stream bugs fixed.
* libPPUI: Dark Mode code update, fixed multi line checkbox rendering.
* libPPUI: CDialogResizeHelper doc update.
* libPPUI: CEditWithButtons recalculate layout on font change.
* libPPUI: CListControl apply dark mode to tooltips.
* libPPUI: Added HyperLinkCtrl.h, with one-line methods for creating WTL CHyperLink from a static text control.
* PFC: Added filetimetools (moved functionality from from foobar2000 SDK helpers).
* PFC: Added sysNaturalSortCompare(), a wrapper to system-provided natural sort method.
=== 2023-05-10 ===
* libPPUI: Edit box shims updated, added ctrl+delete handler.
* libPPUI: Dark Mode code update, updated documentation, made IsSupportedSystem() check for Win10 1809 / Server 2019 or later.
* libPPUI: CListControl added helper methods for mitigating scrollbar context menu takeover.
* SDK: Various filesystem helper methods added.
* SDK: Removed filesystem_transacted, was only implemented in foobar2000 v1.4 series and was dropped in 1.5.
* SDK: Updated search_index & library_index documentation. Please do not use library_index, no longer works as intended, call search_index methods instead.
* Helpers: Added file_win32_helpers::querySeekPenalty() method for testing if the device appears to be a solid state drive or spinning hard drive.
* Removed configuration files for WTL NuGet package as they caused more trouble than benefit.
=== 2023-04-18 ===
* Made compatible with C++20.
* PFC: Made possible to compile for ARM32.
* PFC: Added PFC_CPU_ARCH macro.
* PFC: format_window(), format_windowStyle() debug helpers.
* SDK: Documentation updates.
* SDK: Cleaned up app_close_blocking_task_impl, made possible to use as member of your object instead of as base class.
* SDK: Added file_info::info_set_bitspersample(), a standard way to pass bit depth + int/float info.
* SDK: fb2k::inMainThreadSynchronous2() / main_thread_callback_manager_v2, specifically meant for recovering from method-called-in-wrong-thread scenarios.
* SDK: Added lots of asserts on is_main_thread(), to make it easier to spot API misuse.
* SDK: Added metadb_pre_update_callback.
* libPPUI: Dark Mode bug fixes (status bar, check box).
* libPPUI: Fixed CListControl drag&drop not always triggering automatic scrolling of the list.
* Moved rarely-used legacy main_thread_callback helpers from SDK to helpers.
* Helpers: Added DPI-safe cfgWindowPosition.
* Added configuration files for WTL NuGet package.
=== 2023-03-14 [internal] ===
* Improved FOOBAR2000_SUPPORT_CFG_VAR_DOWNGRADE for advconfig vars.
* Non-FOOBAR2020 mode now accepts configStore names in advconfig constructors to allow FOOBAR2000_SUPPORT_CFG_VAR_DOWNGRADE to work.
=== 2023-03-13 [internal] ===
* Added FOOBAR2000_SUPPORT_CFG_VAR_DOWNGRADE to allow going back from foobar2000 v2.0 style cfg_vars to old. Intended for specific components only, do not use unless you know what you are doing.
* Dark mode bug fixes (listbox).
* PFC: PFC_DEBUG_PRINT(), send format text to OutputDebugString only in debug build, no-op in release build.
* PFC: Debug helpers: format_index(), format_permutation(), format_mask()
* libPPUI: CListControl group layout bug fixes.
* libPPUI: ListBox dark mode scrollbars fixed.
* libPPUI: New EditBoxFixes module with one-line methods to install edit box shims.
* libPPUI: Improved ctrl+backspace editbox shim.
* SDK: Added playlistColumnProvider documentation.
* SDK: Added metadb_io_hint_list_v4, intended for specific components only.
=== 2023-02-22 ===
* PFC: Clarified pfc::remove_if_t<>().
* Helpers: Fixed bad behavior of cfg_objList<> when targetting foobar2000 v2.0+, related to pfc::remove_if_t<>().
* SDK: playlist_loader helpers hardened against odd conditions causing a stack overflow.
* SDK: Updated fb2k::configStore documentation for recently changed behaviors.
* SDK: Additional audio_chunk channel mask definitions.
* libPPUI: Dark Mode implementation updated: fixed tri-state checkboxes, added WTL CHyperLink replacement.
* libPPUI: Removed CStaticThemed & CStaticMainInstruction, they're incompatible with Dark Mode.
=== 2023-01-18 ===
* 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.

Latest revision as of 13:22, 22 March 2024