aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Marakasov <amdmi3@FreeBSD.org>2022-08-04 13:10:40 +0000
committerDmitry Marakasov <amdmi3@FreeBSD.org>2022-08-04 21:00:46 +0000
commitc29ec8917b012505e5f96392502bf7ae62bbae17 (patch)
tree710a84d338895716246a22262e1ebd3ceb3f1647
parentded99a3d1d9f76f965fece3ec2425dce3df6f166 (diff)
downloadports-c29ec8917b012505e5f96392502bf7ae62bbae17.tar.gz
ports-c29ec8917b012505e5f96392502bf7ae62bbae17.zip
audio/sdl_audiolib: add port: Audio decoding, resampling and mixing library for SDL
This is a small and simple to use C++ library for playing various audio formats. It is a thin (-ish) wrapper around existing resampling (like SRC or SoX) and decoding libraries (like libmpg123 or libvorbis.) It was written as a replacement for SDL_mixer, due to SDL_mixer's lack of multiple music streams, limited audio format support and poor resampling quality. WWW: https://github.com/realnc/SDL_audiolib
-rw-r--r--audio/Makefile1
-rw-r--r--audio/sdl_audiolib/Makefile82
-rw-r--r--audio/sdl_audiolib/distinfo3
-rw-r--r--audio/sdl_audiolib/pkg-descr9
-rw-r--r--audio/sdl_audiolib/pkg-plist30
5 files changed, 125 insertions, 0 deletions
diff --git a/audio/Makefile b/audio/Makefile
index 2d4bf717cc7e..6304bb8d72f8 100644
--- a/audio/Makefile
+++ b/audio/Makefile
@@ -711,6 +711,7 @@
SUBDIR += screcord-lv2
SUBDIR += sdl2_mixer
SUBDIR += sdl2_sound
+ SUBDIR += sdl_audiolib
SUBDIR += sdl_mixer
SUBDIR += sdl_sound
SUBDIR += sfizz
diff --git a/audio/sdl_audiolib/Makefile b/audio/sdl_audiolib/Makefile
new file mode 100644
index 000000000000..3789d11219e4
--- /dev/null
+++ b/audio/sdl_audiolib/Makefile
@@ -0,0 +1,82 @@
+PORTNAME= sdl_audiolib
+PORTVERSION= git20220713
+CATEGORIES= audio
+
+MAINTAINER= amdmi3@FreeBSD.org
+COMMENT= Audio decoding, resampling and mixing library for SDL
+
+LICENSE= LGPL3+
+LICENSE_FILE= ${WRKSRC}/COPYING.LESSER
+
+LIB_DEPENDS= libfmt.so:devel/libfmt
+
+USES= cmake pkgconfig sdl
+USE_GITHUB= yes
+GH_ACCOUNT= realnc
+GH_PROJECT= SDL_audiolib
+GH_TAGNAME= cc1bb6a
+USE_SDL= sdl2
+USE_LDCONFIG= yes
+CMAKE_ON= WITH_SYSTEM_FMTLIB
+CMAKE_OFF= USE_DEC_BASSMIDI USE_DEC_ADLMIDI # not in ports (yet)?
+
+PORTDOCS= *
+
+OPTIONS_DEFINE= DOCS
+OPTIONS_GROUP= RESAMPLERS DECODERS
+OPTIONS_GROUP_RESAMPLERS= SAMPLERATE SOXR
+OPTIONS_GROUP_DECODERS= OPENMPT XMP MODPLUG MPG123 SNDFILE VORBIS OPUS FLAC MUSEPACK FLUIDSYNTH WILDMIDI
+OPTIONS_DEFAULT= ${OPTIONS_GROUP_RESAMPLERS} ${OPTIONS_GROUP_DECODERS}
+OPTIONS_SUB= yes
+
+RESAMPLERS_DESC= Resamplers
+
+SAMPLERATE_LIB_DEPENDS= libsamplerate.so:audio/libsamplerate
+SAMPLERATE_CMAKE_BOOL= USE_RESAMP_SRC
+
+SOXR_LIB_DEPENDS= libsoxr.so:audio/libsoxr
+SOXR_CMAKE_BOOL= USE_RESAMP_SOXR
+
+DECODERS_DESC= Decoders
+
+OPENMPT_DESC= OpenMPT MOD decoder
+OPENMPT_LIB_DEPENDS= libopenmpt.so:audio/libopenmpt
+OPENMPT_CMAKE_BOOL= USE_DEC_OPENMPT
+
+XMP_DESC= XMP MOD decoder
+XMP_LIB_DEPENDS= libxmp.so:audio/libxmp
+XMP_CMAKE_BOOL= USE_DEC_XMP
+
+MODPLUG_LIB_DEPENDS= libmodplug.so:audio/libmodplug
+MODPLUG_CMAKE_BOOL= USE_DEC_MODPLUG
+
+MPG123_LIB_DEPENDS= libmpg123.so:audio/mpg123
+MPG123_CMAKE_BOOL= USE_DEC_MPG123
+
+SNDFILE_LIB_DEPENDS= libsndfile.so:audio/libsndfile
+SNDFILE_CMAKE_BOOL= USE_DEC_SNDFILE
+
+VORBIS_LIB_DEPENDS= libvorbisfile.so:audio/libvorbis
+VORBIS_CMAKE_BOOL= USE_DEC_LIBVORBIS
+
+OPUS_LIB_DEPENDS= libopusfile.so:audio/opusfile
+OPUS_CMAKE_BOOL= USE_DEC_LIBOPUSFILE
+
+FLAC_LIB_DEPENDS= libFLAC.so:audio/flac
+FLAC_CMAKE_BOOL= USE_DEC_FLAC
+
+MUSEPACK_LIB_DEPENDS= libmpcdec.so:audio/musepack
+MUSEPACK_CMAKE_BOOL= USE_DEC_MUSEPACK
+
+FLUIDSYNTH_LIB_DEPENDS= libfluidsynth.so:audio/fluidsynth
+FLUIDSYNTH_CMAKE_BOOL= USE_DEC_FLUIDSYNTH
+
+WILDMIDI_DESC= WildMIDI MIDI decoder
+WILDMIDI_LIB_DEPENDS= libWildMidi.so:audio/wildmidi
+WILDMIDI_CMAKE_BOOL= USE_DEC_WILDMIDI
+
+post-install-DOCS-on:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR}/
+
+.include <bsd.port.mk>
diff --git a/audio/sdl_audiolib/distinfo b/audio/sdl_audiolib/distinfo
new file mode 100644
index 000000000000..3e2f777452ae
--- /dev/null
+++ b/audio/sdl_audiolib/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1659555002
+SHA256 (realnc-SDL_audiolib-git20220713-cc1bb6a_GH0.tar.gz) = a9a7eaa0a211921e588b619a94f0b6631dc6722998ca96511c637c096c83bf0a
+SIZE (realnc-SDL_audiolib-git20220713-cc1bb6a_GH0.tar.gz) = 1139627
diff --git a/audio/sdl_audiolib/pkg-descr b/audio/sdl_audiolib/pkg-descr
new file mode 100644
index 000000000000..600524b16249
--- /dev/null
+++ b/audio/sdl_audiolib/pkg-descr
@@ -0,0 +1,9 @@
+This is a small and simple to use C++ library for playing various
+audio formats. It is a thin (-ish) wrapper around existing resampling
+(like SRC or SoX) and decoding libraries (like libmpg123 or libvorbis.)
+
+It was written as a replacement for SDL_mixer, due to SDL_mixer's
+lack of multiple music streams, limited audio format support and
+poor resampling quality.
+
+WWW: https://github.com/realnc/SDL_audiolib
diff --git a/audio/sdl_audiolib/pkg-plist b/audio/sdl_audiolib/pkg-plist
new file mode 100644
index 000000000000..ee0e48d99808
--- /dev/null
+++ b/audio/sdl_audiolib/pkg-plist
@@ -0,0 +1,30 @@
+include/SDL_audiolib/aulib.h
+include/SDL_audiolib/aulib_export.h
+include/SDL_audiolib/aulib_global.h
+include/SDL_audiolib/aulib_version.h
+include/SDL_audiolib/Aulib/Decoder.h
+include/SDL_audiolib/Aulib/DecoderDrflac.h
+include/SDL_audiolib/Aulib/DecoderDrmp3.h
+include/SDL_audiolib/Aulib/DecoderDrwav.h
+%%FLAC%%include/SDL_audiolib/Aulib/DecoderFlac.h
+%%FLUIDSYNTH%%include/SDL_audiolib/Aulib/DecoderFluidsynth.h
+%%MODPLUG%%include/SDL_audiolib/Aulib/DecoderModplug.h
+%%MPG123%%include/SDL_audiolib/Aulib/DecoderMpg123.h
+%%MUSEPACK%%include/SDL_audiolib/Aulib/DecoderMusepack.h
+%%OPENMPT%%include/SDL_audiolib/Aulib/DecoderOpenmpt.h
+%%OPUS%%include/SDL_audiolib/Aulib/DecoderOpus.h
+%%SNDFILE%%include/SDL_audiolib/Aulib/DecoderSndfile.h
+%%VORBIS%%include/SDL_audiolib/Aulib/DecoderVorbis.h
+%%WILDMIDI%%include/SDL_audiolib/Aulib/DecoderWildmidi.h
+%%XMP%%include/SDL_audiolib/Aulib/DecoderXmp.h
+include/SDL_audiolib/Aulib/Processor.h
+include/SDL_audiolib/Aulib/Resampler.h
+include/SDL_audiolib/Aulib/ResamplerSdl.h
+%%SOXR%%include/SDL_audiolib/Aulib/ResamplerSox.h
+include/SDL_audiolib/Aulib/ResamplerSpeex.h
+%%SAMPLERATE%%include/SDL_audiolib/Aulib/ResamplerSrc.h
+include/SDL_audiolib/Aulib/Stream.h
+lib/libSDL_audiolib.so
+lib/libSDL_audiolib.so.0
+lib/libSDL_audiolib.so.0.0.0
+libdata/pkgconfig/SDL_audiolib.pc