Po 14 latach od ostatniego wydania, zaprezentowano wersję 2.0.1 biblioteki SDL_sound (wydanie 2.0.0 zostało pominięte), która oferuje interfejs nad biblioteką SDL z funkcjami do dekodowania popularnych formatów plików dźwiękowych, takich jak MP3, WAV, OGG, FLAC, AIFF, VOC, MOD, MID i AU. Znacząca zmiana numeru wersji wynika z przestawienia kodu z licencji copyleft LGPLv2 na licencję permisji zlib, zgodną z GPL. Co więcej, pomimo zachowania zgodności wstecznej na poziomie API, działanie SDL_sound jest teraz możliwe tylko na bazie gałęzi SDL 2.0 (wsparcie dla kompilacji na SDL 1.2 zostało zakończone).
Do dekodowania formatów dźwiękowych w SDL_sound nie są używane zewnętrzne biblioteki — wszystkie niezbędne teksty źródłowe są zawarte w podstawowej wersji. Oferowane API pozwala na uzyskiwanie danych dźwiękowych zarówno z plików, jak i na poziomie strumieni dźwiękowych z jednego lub kilku zewnętrznych źródeł. Obsługiwane jest dołączanie własnych przetworników do przetwarzania dźwięku lub dostęp do wynikowych danych po dekodowaniu. Możliwości manipulacji z częstotliwościami próbkowania, formatami i kanałami dźwiękowymi, w tym przekształcenie na żywo, są dostępne.
Główne zmiany w gałęzi SDL_sound 2.0:
- Zmiana licencji na zlib i przejście na użycie SDL 2.
- Usunięcie kodu zewnętrznych zależności i wbudowanie wszystkich dekoderów w podstawową wersję. Zastąpienie niektórych dekoderów zunifikowanymi przetwornikami. Na przykład, do pracy z formatem OGG nie jest już wymagana instalacja biblioteki libogg, ponieważ dekoder stb_vorbis jest teraz wbudowany w teksty źródłowe SDL_sound.
- Przejście na użycie systemu budowy CMake. Uproszczenie procesu użycia kodu SDL_sound w swoich projektach.
- Zaprzestanie wsparcia dla dekodera przestarzałego formatu QuickTime, ale na macOS i iOS do pracy z QuickTime można nadal używać uniwersalnego dekodera CoreAudio.
- Zaprzestanie wsparcia dla formatu Speex z powodu braku implementacji dekodera pod wymaganą licencją.
- Zaprzestanie wsparcia dla dekodera MikMod. Do pracy z tymi samymi formatami można używać dekodera modplug.
Źródło: opennet.ru
