foobar2000 SDK — это набор инструментов и библиотек для разработки компонентов и плагинов для аудиоплеера foobar2000. SDK предоставляет интерфейсы прикладного программирования (API), заголовочные файлы и примеры кода, позволяющие расширять функциональность плеера: добавлять новые аудиодекодеры, выходные модули, пользовательские интерфейсы, обработчики тегов и другие интеграции. В описаниях SDK обычно указываются версии совместимости с ядром плеера и требования к среде разработки.
Исторически SDK развивался вместе с самим foobar2000 как сообществом ориентируемый набор средств, который поддерживает разработчиков сторонних компонентов. Документация и примеры демонстрируют шаблоны реализации компонентов, жизненный цикл объектов в среде плеера и механизмы регистрации расширений. Если официальной детальной документации недостаточно, разработчики опираются на исходные примеры и анализ существующих компонентов для понимания внутренних соглашений и ограничений.
- API и заголовочные файлы: определения интерфейсов для взаимодействия с ядром плеера, событиями воспроизведения и управлением потоками данных.
 - Примеры компонентов: демонстрационные реализации декодеров, обработчиков тегов и UI-расширений, служащие шаблонами для собственного кода.
 - Механизмы регистрации: способы регистрации и обнаружения компонентов плеером, описание метаданных компонентов и версионных зависимостей.
 - Интерфейсы вывода аудио: образцы реализации выводных модулей и описание взаимодействия с аудиоустройствами и буферизацией.
 - Поддержка форматов: руководства по добавлению декодеров и кодеков, примеры обработки потоковых и сжатых форматов.
 - Событийная модель: события воспроизведения, изменения трека, состояния очереди и способы их обработки в компонентах.
 - Управление памятью и потоками: рекомендации по безопасной работе с памятью и многопоточностью в контексте плеера.
 - Инструменты сборки: примеры конфигураций для компиляторов и сред разработки, которые упрощают сборку бинарных расширений.
 - Совместимость и миграция: указания по обратной совместимости и переходу между версиями API при обновлениях плеера.
 - Лицензирование и распространение: информация о типичных практиках распространения компонентов и соблюдении лицензионных требований при использовании сторонних библиотек.