advertisement
PerfectTUNES
a helping hand for your audio collection
Add or upgrade Album Art, De-Dup and check for ripping errors
Download foobar2000 Software Development Kit
Latest version:
SDK 2020-07-28
Latest backwards-compatible version:
SDK 2019-06-30
This version is backwards compatible with existing source code predating libPPUI.
Included project files are for Visual Studio 2017.
Certain workarounds are still needed for modern Visual C++ toolchain to compile foobar2000 code correctly. Please read the included readme document for detailed information.
Archived versions:
SDK 2019-12-27
SDK 2019-11-29
SDK 2019-09-18
SDK 2019-09-04
SDK 2019-07-26
SDK 2019-07-09
SDK 2019-06-30
SDK 2019-06-17
SDK 2018-10-11
SDK 2018-09-29
SDK 2018-03-06
SDK 2018-02-05
SDK 2018-01-11
SDK 2015-08-03
SDK 2015-01-14
SDK 2014-07-02
SDK 2011-03-11 ( compatible with foobar2000 v1.2.x series )
Change log
2020-07-28
- foobar2000 v1.6 features included, see readme doc.
- Now configured to build for Windows 7 and newer with SSE2 by default.
- Minor libPPUI updates, added combo boxes in CListControl.
2019-12-27
- More fixes for /fpermissive-.
- Preview of fb2k v1.6 output API extensions.
2019-11-29
- foobar2000 v1.5 stable
- Fixed rare race condition in read-ahead helper code.
- Fixed rare CListControl crash.
- Added helper methods to copy creation/modification time between files.
2019-09-18
- Visual Studio 2019 compatibility improvements.
2019-09-04
- libPPUI work-in-progress and binary size optimizations; new extensible system of CListControl cells.
- Added playback stream capture sample.
- Latest foobar2000 v1.5 beta API additions: input_playback_shim, input_info_filter.
- Corrected outdated info in readme doc.
- Default target is now foobar2000 1.4 and newer (API 79).
2019-07-26
- libPPUI fixes.
- Added dynamic main menu item example.
2019-07-09
- Introducing libPPUI, replacing old helpers/ATLHelpers tools.
- libPPUI contains all helper code that is not foobar2000-specific; it can be utilized in foobar2000 components as well as separate unrelated programs. It comes with an unrestrictive license.
- Published CListControl source code (now part of libPPUI), which is the basis of the Default User Interface playlist view.
- Published new programming interfaces introduced with foobar2000 v1.5.
- Everything should compile with /fpermissive-.
- Due to structural changes (code moved from helpers to libPPUI), existing source code may need editing (different #includes) to compile.
2019-06-30
- Fixed WTL v10 compatibility.
2019-06-17
- Published async_task_manager & fb2k::splitTask() API for v1.4.5 and newer.
- New modules in sample component.
- Removed unnecessary OverrideCrtAbort() on component init if compiling for DLL VC runtime.
2018-10-11
- Published file_lock_manager API.
2018-09-29
- PFC bug fixes
- UI helpers (edit-with-button) bug fixes
- Updated sample component, added I/O test
- Added helper code to format audio peak in decibels
- Filesystem API cleanups
- Added fb2k::sort() - abortable multithreaded quicksort - now used for track sorting operations
- Added preferences_state::needs_rescan_library (understood by v1.4.1 and up)
- Documentation updates
- Helpers: Updated read-ahead-cache reader wrapper
- Bumped highest allowed audio_chunk sample rate to deal with DSD
2018-03-06
- Added filesystem_v2, filesystem_transacted, user_interface_v2, ui_element_common_methods_v3 APIs introduced in 1.4 beta 7.
- Added framework to create UI Elements hosting other UI Elements - see ATLHelpers / ui_element_helpers.h.
2018-02-05
- Added input_stream_manipulator, replaygain_alter_stream and replaygain_scanner_entry_v2 for new ReplayGain scanner in 1.4 beta 4.
- Added ui_element_subclass_dsp
- Bug fixes to helpers, CEditWithButtons in particular. Reusing in your own projects is welcome.
- A less restrictive license - common sense cannot be enforced.
2018-01-11
- Visual Studio 2017 project files included and working out-of-the-box.
- foobar2000 v1.4 beta features included. You can now declare decoders that correctly appear in the list.
- The SDK is backwards-compatible with foobar2000 v1.3, you can enable v1.4 features without breaking v1.3 compatibility.
- PFC namespacing cleaned up, some code may need fixing to correctly reference PFC classes that were in the global namespace before.
- Various internal tweaks to allow smaller component DLLs.
- foo_sample updated, added metadb_index_client+metadb_display_field_provider+track_property_provider demo (rating.cpp).
2015-08-03
- Now Visual Studio 2015 compatible. Fixed FOOGUIDDECL (__declspec(selectany)) abuse which was originally added to deal with MSVC6 bug.
- PFC updates from foobar2000 mobile. PFC now compatible with WinRT, works in Windows Store / Windows Phone / Windows Universal apps.
- Added C++11 lamba helpers for use with main_thread_callback and completion_notify.
- Out-of-the-box working foo_sample.sln
2015-01-14
- Big update, lots of helper classes and structure changes from foobar2000 mobile codebase.
- New callInMainThreadHelper class for simplified main_thread_callback use. See main_thread_callback.h
- PFC library is now public domain (unlicense).
- PFC library works on all major platforms - OSX, iOS, Linux.
- PFC library now provides OS basic abstraction for common objects such as threads.
2014-07-02
- Corrected CPowerRequest.h not compiling in VS 2010.
2014-06-30
- New metadb API methods introduced in foobar2000 v1.3 - see SDK readme file for details.
- Published audio output component specification, along with foobar2000 v1.2 extensions for volume control.
- foobar2000 v1.3 or newer required to run components made with this SDK.
2011-03-11
- Included decode_postprocessor API - for transparent HDCD and DTS decoding.
- Included project files for Visual Studio 10.
- foobar2000 v1.1 or newer required to run components made with this SDK.
2010-10-02
- Clarified preferences page API documentation to warn about known source of spooky crashes.
- Updated preferences page framework in ATLHelpers to workaround the above.
2010-05-21
- Preliminary documentation for upcoming foobar2000 1.1 features.
2010-01-19
- Sample code updates, new UI Element sample.
- Helper macro bug fix (thanks musicmusic).
- New measures to make certain types of crashes easier to track.
2010-01-09
- Updated to include foobar2000 v1.0 features - components built with this SDK require foobar2000 v1.0 or newer.
- Completely new sample component demonstrating various functionality.
- Included Default User Interface element specifications.
- Improved compatibility with MSVC10.
2008-11-29
- Fixed invalid data handling bugs in string manipulation helpers.
2008-09-22
- Fixed a major bug in the Decoder Validator component.
- Updated documentation of various DSP related APIs.
2008-07-20
- Fixed a bug in context menu generation code.
2008-07-10
- Added access to new features introduced in foobar2000 0.9.5.4: extensions to the autoplaylist APIs, new API to access Media Library Search user interface.
- Updated documentation - including notes regarding future compatibility and planned changes the library_manager API.
- Updated Decoder Validator component.
2008-05-27
- Added access to new features introduced in foobar2000 0.9.5.3: extensions to search_filter and autoplaylist_client APIs, replaygain_scanner API.
- Updated documentation.
2008-04-19
- Added access to new features introduced in foobar2000 versions 0.9.5, 0.9.5.1 and 0.9.5.2. Version 0.9.5 or newer is now required to load components made with this SDK.
- Structural changes in included helper libraries, some parts of them now depend on WTL.
- Updated documentation.
- Updated Decoder Validator component.
2007-02-04
- Fixed pfc::sort performance problem.
2006-11-29
- Added access to new features introduced in 0.9.4. Version 0.9.4 or newer is required to load components made with this SDK.
2006-07-30
- Resolved incompatibility with _expand() behaviors on Windows Vista. It is recommended to recompile all components built with older versions of the SDK with an updated version to avoid incompatibility with Windows Vista.