seal 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.yardopts +1 -0
- data/LICENSE +13 -0
- data/README.md +265 -0
- data/ext/seal/extconf.rb +45 -0
- data/include/al/al.h +724 -0
- data/include/al/alc.h +277 -0
- data/include/al/efx-presets.h +402 -0
- data/include/al/efx.h +758 -0
- data/include/mpg123/mpg123.h +1034 -0
- data/include/ogg/config_types.h +25 -0
- data/include/ogg/ogg.h +210 -0
- data/include/ogg/os_types.h +147 -0
- data/include/seal.h +23 -0
- data/include/seal/buf.h +143 -0
- data/include/seal/core.h +95 -0
- data/include/seal/efs.h +112 -0
- data/include/seal/err.h +93 -0
- data/include/seal/fmt.h +58 -0
- data/include/seal/listener.h +103 -0
- data/include/seal/raw.h +86 -0
- data/include/seal/rvb.h +520 -0
- data/include/seal/src.h +413 -0
- data/include/seal/stream.h +81 -0
- data/include/vorbis/codec.h +243 -0
- data/include/vorbis/vorbisfile.h +206 -0
- data/mpg123/AUTHORS +150 -0
- data/mpg123/COPYING +773 -0
- data/mpg123/ChangeLog +3 -0
- data/mpg123/INSTALL +111 -0
- data/mpg123/Makefile.am +99 -0
- data/mpg123/Makefile.in +1043 -0
- data/mpg123/NEWS +1200 -0
- data/mpg123/NEWS.libmpg123 +133 -0
- data/mpg123/README +203 -0
- data/mpg123/TODO +38 -0
- data/mpg123/aclocal.m4 +1168 -0
- data/mpg123/build/config.guess +1530 -0
- data/mpg123/build/config.sub +1782 -0
- data/mpg123/build/depcomp +707 -0
- data/mpg123/build/install-sh +527 -0
- data/mpg123/build/ltmain.sh +9655 -0
- data/mpg123/build/missing +330 -0
- data/mpg123/configure +20267 -0
- data/mpg123/configure.ac +2178 -0
- data/mpg123/doc/ACCURACY +2 -0
- data/mpg123/doc/BENCHMARKING +110 -0
- data/mpg123/doc/BUGS +3 -0
- data/mpg123/doc/CONTACT +17 -0
- data/mpg123/doc/LICENSE +22 -0
- data/mpg123/doc/Makefile.am +32 -0
- data/mpg123/doc/Makefile.in +490 -0
- data/mpg123/doc/PATENTS +39 -0
- data/mpg123/doc/README.3DNOW +56 -0
- data/mpg123/doc/README.gain +171 -0
- data/mpg123/doc/README.remote +218 -0
- data/mpg123/doc/ROAD_TO_LGPL +270 -0
- data/mpg123/doc/THANKS +13 -0
- data/mpg123/doc/TODO +63 -0
- data/mpg123/doc/doxy_examples.c +21 -0
- data/mpg123/doc/doxygen.conf +41 -0
- data/mpg123/doc/doxyhead.xhtml +12 -0
- data/mpg123/doc/examples/dump_seekindex.c +41 -0
- data/mpg123/doc/examples/extract_frames.c +92 -0
- data/mpg123/doc/examples/feedseek.c +238 -0
- data/mpg123/doc/examples/id3dump.c +178 -0
- data/mpg123/doc/examples/mpg123_to_wav.c +118 -0
- data/mpg123/doc/examples/mpglib.c +92 -0
- data/mpg123/doc/examples/scan.c +47 -0
- data/mpg123/doc/libmpg123_speed.txt +84 -0
- data/mpg123/equalize.dat +37 -0
- data/mpg123/libmpg123.pc.in +11 -0
- data/mpg123/m4/addrconfig.m4 +34 -0
- data/mpg123/m4/libtool.m4 +7982 -0
- data/mpg123/m4/ltoptions.m4 +384 -0
- data/mpg123/m4/ltsugar.m4 +123 -0
- data/mpg123/m4/ltversion.m4 +23 -0
- data/mpg123/m4/lt~obsolete.m4 +98 -0
- data/mpg123/makedll.sh +19 -0
- data/mpg123/man1/mpg123.1 +512 -0
- data/mpg123/mpg123.spec +68 -0
- data/mpg123/mpg123.spec.in +68 -0
- data/mpg123/ports/MSVC++/2005/libmpg123/libmpg123.vcproj +741 -0
- data/mpg123/ports/MSVC++/2008/dump_seekindex/dump_seekindex.vcproj +194 -0
- data/mpg123/ports/MSVC++/2008/feedseek/feedseek.vcproj +195 -0
- data/mpg123/ports/MSVC++/2008/libmpg123/libmpg123.vcproj +1357 -0
- data/mpg123/ports/MSVC++/2008/mpg123.sln +44 -0
- data/mpg123/ports/MSVC++/2008/mpglib/mpglib.vcproj +191 -0
- data/mpg123/ports/MSVC++/2008/scan/scan.vcproj +195 -0
- data/mpg123/ports/MSVC++/2008clr/2008clr.sln +81 -0
- data/mpg123/ports/MSVC++/2008clr/examples/ReplaceReaderclr/Program.cs +435 -0
- data/mpg123/ports/MSVC++/2008clr/examples/ReplaceReaderclr/Properties/AssemblyInfo.cs +36 -0
- data/mpg123/ports/MSVC++/2008clr/examples/ReplaceReaderclr/ReplaceReaderclr.csproj +72 -0
- data/mpg123/ports/MSVC++/2008clr/examples/feedseekclr/Program.cs +331 -0
- data/mpg123/ports/MSVC++/2008clr/examples/feedseekclr/Properties/AssemblyInfo.cs +36 -0
- data/mpg123/ports/MSVC++/2008clr/examples/feedseekclr/feedseekclr.csproj +71 -0
- data/mpg123/ports/MSVC++/2008clr/examples/scanclr/Program.cs +79 -0
- data/mpg123/ports/MSVC++/2008clr/examples/scanclr/Properties/AssemblyInfo.cs +36 -0
- data/mpg123/ports/MSVC++/2008clr/examples/scanclr/scanclr.csproj +70 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/AssemblyInfo.cpp +76 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/ReadMe.txt +165 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/advanced.cpp +91 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/advanced.h +130 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/dllmain.cpp +19 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/enum.h +218 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/error.cpp +48 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/error.h +134 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/id3v1.cpp +92 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/id3v1.h +132 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/id3v2.cpp +138 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/id3v2.h +152 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/mpg123clr.cpp +896 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/mpg123clr.h +953 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/mpg123clr.rc +102 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/mpg123clr.vcproj +328 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/resource.h +14 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/stdafx.cpp +8 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/stdafx.h +38 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/string.cpp +166 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/string.h +265 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/targetver.h +24 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/text.cpp +67 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/text.h +111 -0
- data/mpg123/ports/MSVC++/2010/dump_seekindex/dump_seekindex.vcxproj +90 -0
- data/mpg123/ports/MSVC++/2010/dump_seekindex/dump_seekindex.vcxproj.filters +6 -0
- data/mpg123/ports/MSVC++/2010/feedseek/feedseek.vcxproj +95 -0
- data/mpg123/ports/MSVC++/2010/feedseek/feedseek.vcxproj.filters +6 -0
- data/mpg123/ports/MSVC++/2010/libmpg123/libmpg123.vcxproj +960 -0
- data/mpg123/ports/MSVC++/2010/libmpg123/libmpg123.vcxproj.user +3 -0
- data/mpg123/ports/MSVC++/2010/libmpg123/yasm.exe +0 -0
- data/mpg123/ports/MSVC++/2010/mpg123.sln +38 -0
- data/mpg123/ports/MSVC++/2010/scan/scan.vcxproj +93 -0
- data/mpg123/ports/MSVC++/2010/scan/scan.vcxproj.filters +6 -0
- data/mpg123/ports/MSVC++/CMP3Stream/INCLUDE/CORE/CORE_FileIn.H +15 -0
- data/mpg123/ports/MSVC++/CMP3Stream/INCLUDE/CORE/SourceFilter_MP3.H +139 -0
- data/mpg123/ports/MSVC++/CMP3Stream/INCLUDE/IIEP_Def.H +206 -0
- data/mpg123/ports/MSVC++/CMP3Stream/INCLUDE/IIEP_FileIn.H +167 -0
- data/mpg123/ports/MSVC++/CMP3Stream/README +4 -0
- data/mpg123/ports/MSVC++/CMP3Stream/SOURCE/CORE_FileIn.CPP +462 -0
- data/mpg123/ports/MSVC++/CMP3Stream/SOURCE/CORE_Log.CPP +122 -0
- data/mpg123/ports/MSVC++/CMP3Stream/SOURCE/CORE_Mutex.CPP +35 -0
- data/mpg123/ports/MSVC++/CMP3Stream/SOURCE/SourceFilter_MP3Stream.CPP +586 -0
- data/mpg123/ports/MSVC++/CMP3Stream/libMPG123/PLACE_LIBMPG123_SOURCES_HERE +0 -0
- data/mpg123/ports/MSVC++/CMP3Stream/libMPG123/libMPG123.vcproj +245 -0
- data/mpg123/ports/MSVC++/config.h +35 -0
- data/mpg123/ports/MSVC++/examples/feedseek.c +240 -0
- data/mpg123/ports/MSVC++/examples/scan.c +47 -0
- data/mpg123/ports/MSVC++/mpg123.h +46 -0
- data/mpg123/ports/MSVC++/msvc.c +59 -0
- data/mpg123/ports/README +26 -0
- data/mpg123/ports/Sony_PSP/Makefile.psp +38 -0
- data/mpg123/ports/Sony_PSP/README +11 -0
- data/mpg123/ports/Sony_PSP/config.h +368 -0
- data/mpg123/ports/Sony_PSP/readers.c.patch +2 -0
- data/mpg123/ports/Xcode/config.h +197 -0
- data/mpg123/ports/Xcode/mpg123.h +17 -0
- data/mpg123/ports/Xcode/mpg123.xcodeproj/project.pbxproj +670 -0
- data/mpg123/ports/mpg123_.pas +478 -0
- data/mpg123/scripts/benchmark-cpu.pl +56 -0
- data/mpg123/scripts/tag_lyrics.py +76 -0
- data/mpg123/src/Makefile.am +186 -0
- data/mpg123/src/Makefile.in +1097 -0
- data/mpg123/src/audio.c +725 -0
- data/mpg123/src/audio.h +106 -0
- data/mpg123/src/buffer.c +312 -0
- data/mpg123/src/buffer.h +45 -0
- data/mpg123/src/common.c +240 -0
- data/mpg123/src/common.h +29 -0
- data/mpg123/src/config.h.in +436 -0
- data/mpg123/src/control_generic.c +809 -0
- data/mpg123/src/equalizer.c +48 -0
- data/mpg123/src/genre.c +271 -0
- data/mpg123/src/genre.h +15 -0
- data/mpg123/src/getlopt.c +148 -0
- data/mpg123/src/getlopt.h +77 -0
- data/mpg123/src/httpget.c +700 -0
- data/mpg123/src/httpget.h +66 -0
- data/mpg123/src/legacy_module.c +74 -0
- data/mpg123/src/libmpg123/Makefile.am +141 -0
- data/mpg123/src/libmpg123/Makefile.in +919 -0
- data/mpg123/src/libmpg123/compat.c +138 -0
- data/mpg123/src/libmpg123/compat.h +178 -0
- data/mpg123/src/libmpg123/dct36_3dnow.S +505 -0
- data/mpg123/src/libmpg123/dct36_3dnowext.S +512 -0
- data/mpg123/src/libmpg123/dct64.c +174 -0
- data/mpg123/src/libmpg123/dct64_3dnow.S +712 -0
- data/mpg123/src/libmpg123/dct64_3dnowext.S +714 -0
- data/mpg123/src/libmpg123/dct64_altivec.c +315 -0
- data/mpg123/src/libmpg123/dct64_i386.c +336 -0
- data/mpg123/src/libmpg123/dct64_i486.c +342 -0
- data/mpg123/src/libmpg123/dct64_mmx.S +811 -0
- data/mpg123/src/libmpg123/dct64_neon.S +297 -0
- data/mpg123/src/libmpg123/dct64_neon_float.S +270 -0
- data/mpg123/src/libmpg123/dct64_sse.S +454 -0
- data/mpg123/src/libmpg123/dct64_sse_float.S +401 -0
- data/mpg123/src/libmpg123/dct64_x86_64.S +464 -0
- data/mpg123/src/libmpg123/dct64_x86_64_float.S +426 -0
- data/mpg123/src/libmpg123/debug.h +171 -0
- data/mpg123/src/libmpg123/decode.h +268 -0
- data/mpg123/src/libmpg123/dither.c +119 -0
- data/mpg123/src/libmpg123/dither.h +23 -0
- data/mpg123/src/libmpg123/equalizer.c +17 -0
- data/mpg123/src/libmpg123/equalizer_3dnow.S +70 -0
- data/mpg123/src/libmpg123/feature.c +106 -0
- data/mpg123/src/libmpg123/format.c +521 -0
- data/mpg123/src/libmpg123/frame.c +1046 -0
- data/mpg123/src/libmpg123/frame.h +410 -0
- data/mpg123/src/libmpg123/gapless.h +119 -0
- data/mpg123/src/libmpg123/getbits.h +100 -0
- data/mpg123/src/libmpg123/getcpuflags.S +91 -0
- data/mpg123/src/libmpg123/getcpuflags.h +47 -0
- data/mpg123/src/libmpg123/huffman.h +340 -0
- data/mpg123/src/libmpg123/icy.c +32 -0
- data/mpg123/src/libmpg123/icy.h +38 -0
- data/mpg123/src/libmpg123/icy2utf8.c +438 -0
- data/mpg123/src/libmpg123/icy2utf8.h +10 -0
- data/mpg123/src/libmpg123/id3.c +999 -0
- data/mpg123/src/libmpg123/id3.h +43 -0
- data/mpg123/src/libmpg123/index.c +134 -0
- data/mpg123/src/libmpg123/index.h +59 -0
- data/mpg123/src/libmpg123/intsym.h +256 -0
- data/mpg123/src/libmpg123/l12_integer_tables.h +278 -0
- data/mpg123/src/libmpg123/l2tables.h +164 -0
- data/mpg123/src/libmpg123/l3_integer_tables.h +1002 -0
- data/mpg123/src/libmpg123/layer1.c +155 -0
- data/mpg123/src/libmpg123/layer2.c +371 -0
- data/mpg123/src/libmpg123/layer3.c +2053 -0
- data/mpg123/src/libmpg123/lfs_alias.c +252 -0
- data/mpg123/src/libmpg123/lfs_wrap.c +751 -0
- data/mpg123/src/libmpg123/libmpg123.c +1607 -0
- data/mpg123/src/libmpg123/mangle.h +74 -0
- data/mpg123/src/libmpg123/mpeghead.h +87 -0
- data/mpg123/src/libmpg123/mpg123.h.in +1075 -0
- data/mpg123/src/libmpg123/mpg123lib_intern.h +338 -0
- data/mpg123/src/libmpg123/ntom.c +148 -0
- data/mpg123/src/libmpg123/optimize.c +964 -0
- data/mpg123/src/libmpg123/optimize.h +219 -0
- data/mpg123/src/libmpg123/parse.c +1179 -0
- data/mpg123/src/libmpg123/parse.h +25 -0
- data/mpg123/src/libmpg123/reader.h +137 -0
- data/mpg123/src/libmpg123/readers.c +1235 -0
- data/mpg123/src/libmpg123/sample.h +152 -0
- data/mpg123/src/libmpg123/stringbuf.c +163 -0
- data/mpg123/src/libmpg123/synth.c +816 -0
- data/mpg123/src/libmpg123/synth.h +196 -0
- data/mpg123/src/libmpg123/synth_3dnow.S +318 -0
- data/mpg123/src/libmpg123/synth_3dnowext.S +6 -0
- data/mpg123/src/libmpg123/synth_8bit.c +142 -0
- data/mpg123/src/libmpg123/synth_8bit.h +86 -0
- data/mpg123/src/libmpg123/synth_altivec.c +1057 -0
- data/mpg123/src/libmpg123/synth_arm.S +271 -0
- data/mpg123/src/libmpg123/synth_arm_accurate.S +287 -0
- data/mpg123/src/libmpg123/synth_i486.c +252 -0
- data/mpg123/src/libmpg123/synth_i586.S +336 -0
- data/mpg123/src/libmpg123/synth_i586_dither.S +375 -0
- data/mpg123/src/libmpg123/synth_mmx.S +125 -0
- data/mpg123/src/libmpg123/synth_mono.h +64 -0
- data/mpg123/src/libmpg123/synth_neon.S +123 -0
- data/mpg123/src/libmpg123/synth_neon_accurate.S +173 -0
- data/mpg123/src/libmpg123/synth_neon_float.S +149 -0
- data/mpg123/src/libmpg123/synth_neon_s32.S +168 -0
- data/mpg123/src/libmpg123/synth_ntom.h +213 -0
- data/mpg123/src/libmpg123/synth_real.c +404 -0
- data/mpg123/src/libmpg123/synth_s32.c +411 -0
- data/mpg123/src/libmpg123/synth_sse.S +6 -0
- data/mpg123/src/libmpg123/synth_sse3d.h +246 -0
- data/mpg123/src/libmpg123/synth_sse_accurate.S +294 -0
- data/mpg123/src/libmpg123/synth_sse_float.S +241 -0
- data/mpg123/src/libmpg123/synth_sse_s32.S +306 -0
- data/mpg123/src/libmpg123/synth_stereo_neon.S +175 -0
- data/mpg123/src/libmpg123/synth_stereo_neon_accurate.S +262 -0
- data/mpg123/src/libmpg123/synth_stereo_neon_float.S +220 -0
- data/mpg123/src/libmpg123/synth_stereo_neon_s32.S +247 -0
- data/mpg123/src/libmpg123/synth_stereo_sse_accurate.S +508 -0
- data/mpg123/src/libmpg123/synth_stereo_sse_float.S +416 -0
- data/mpg123/src/libmpg123/synth_stereo_sse_s32.S +540 -0
- data/mpg123/src/libmpg123/synth_stereo_x86_64.S +335 -0
- data/mpg123/src/libmpg123/synth_stereo_x86_64_accurate.S +454 -0
- data/mpg123/src/libmpg123/synth_stereo_x86_64_float.S +396 -0
- data/mpg123/src/libmpg123/synth_stereo_x86_64_s32.S +473 -0
- data/mpg123/src/libmpg123/synth_x86_64.S +244 -0
- data/mpg123/src/libmpg123/synth_x86_64_accurate.S +301 -0
- data/mpg123/src/libmpg123/synth_x86_64_float.S +259 -0
- data/mpg123/src/libmpg123/synth_x86_64_s32.S +312 -0
- data/mpg123/src/libmpg123/synths.h +52 -0
- data/mpg123/src/libmpg123/tabinit.c +294 -0
- data/mpg123/src/libmpg123/tabinit_mmx.S +210 -0
- data/mpg123/src/libmpg123/testcpu.c +35 -0
- data/mpg123/src/libmpg123/true.h +14 -0
- data/mpg123/src/local.c +63 -0
- data/mpg123/src/local.h +21 -0
- data/mpg123/src/metaprint.c +373 -0
- data/mpg123/src/metaprint.h +17 -0
- data/mpg123/src/module.c +306 -0
- data/mpg123/src/module.h +48 -0
- data/mpg123/src/mpg123.c +1405 -0
- data/mpg123/src/mpg123app.h +171 -0
- data/mpg123/src/output/Makefile.am +213 -0
- data/mpg123/src/output/Makefile.in +1238 -0
- data/mpg123/src/output/aix.c +300 -0
- data/mpg123/src/output/alib.c +209 -0
- data/mpg123/src/output/alsa.c +297 -0
- data/mpg123/src/output/arts.c +117 -0
- data/mpg123/src/output/coreaudio.c +370 -0
- data/mpg123/src/output/dummy.c +78 -0
- data/mpg123/src/output/esd.c +167 -0
- data/mpg123/src/output/hp.c +184 -0
- data/mpg123/src/output/jack.c +450 -0
- data/mpg123/src/output/mint.c +197 -0
- data/mpg123/src/output/nas.c +335 -0
- data/mpg123/src/output/openal.c +197 -0
- data/mpg123/src/output/os2.c +665 -0
- data/mpg123/src/output/oss.c +319 -0
- data/mpg123/src/output/portaudio.c +255 -0
- data/mpg123/src/output/pulse.c +164 -0
- data/mpg123/src/output/sdl.c +206 -0
- data/mpg123/src/output/sgi.c +213 -0
- data/mpg123/src/output/sndio.c +161 -0
- data/mpg123/src/output/sun.c +281 -0
- data/mpg123/src/output/win32.c +229 -0
- data/mpg123/src/playlist.c +596 -0
- data/mpg123/src/playlist.h +52 -0
- data/mpg123/src/resolver.c +319 -0
- data/mpg123/src/resolver.h +25 -0
- data/mpg123/src/sfifo.c +146 -0
- data/mpg123/src/sfifo.h +95 -0
- data/mpg123/src/streamdump.c +74 -0
- data/mpg123/src/streamdump.h +20 -0
- data/mpg123/src/term.c +479 -0
- data/mpg123/src/term.h +81 -0
- data/mpg123/src/tests/noise.c +52 -0
- data/mpg123/src/tests/plain_id3.c +109 -0
- data/mpg123/src/tests/seek_accuracy.c +261 -0
- data/mpg123/src/tests/seek_whence.c +56 -0
- data/mpg123/src/tests/testtext.h +34 -0
- data/mpg123/src/tests/text.c +80 -0
- data/mpg123/src/wav.c +464 -0
- data/mpg123/src/wavhead.h +68 -0
- data/mpg123/src/win32_net.c +599 -0
- data/mpg123/src/win32_support.c +191 -0
- data/mpg123/src/win32_support.h +152 -0
- data/mpg123/src/xfermem.c +321 -0
- data/mpg123/src/xfermem.h +74 -0
- data/mpg123/windows-builds.sh +137 -0
- data/msvc/lib/OpenAL32.lib +0 -0
- data/spec/fixtures/heal.ogg +0 -0
- data/spec/fixtures/tone_up.wav +0 -0
- data/spec/seal/buffer_spec.rb +37 -0
- data/spec/seal/core_spec.rb +29 -0
- data/spec/seal/effect_slot_spec.rb +38 -0
- data/spec/seal/listener_spec.rb +33 -0
- data/spec/seal/reverb_spec.rb +51 -0
- data/spec/seal/source_spec.rb +370 -0
- data/spec/seal/stream_spec.rb +38 -0
- data/spec/spec_helper.rb +45 -0
- data/spec/support/attribute_examples.rb +75 -0
- data/spec/support/audio_object_with_format.rb +27 -0
- data/spec/support/movable_object.rb +22 -0
- data/src/libogg/bitwise.c +857 -0
- data/src/libogg/framing.c +2093 -0
- data/src/libvorbis/backends.h +144 -0
- data/src/libvorbis/bitrate.c +253 -0
- data/src/libvorbis/bitrate.h +59 -0
- data/src/libvorbis/block.c +1046 -0
- data/src/libvorbis/codebook.c +484 -0
- data/src/libvorbis/codebook.h +119 -0
- data/src/libvorbis/codec_internal.h +167 -0
- data/src/libvorbis/envelope.c +375 -0
- data/src/libvorbis/envelope.h +80 -0
- data/src/libvorbis/floor0.c +221 -0
- data/src/libvorbis/floor1.c +1100 -0
- data/src/libvorbis/highlevel.h +58 -0
- data/src/libvorbis/info.c +668 -0
- data/src/libvorbis/lookup.c +94 -0
- data/src/libvorbis/lookup.h +32 -0
- data/src/libvorbis/lookup_data.h +192 -0
- data/src/libvorbis/lpc.c +160 -0
- data/src/libvorbis/lpc.h +29 -0
- data/src/libvorbis/lsp.c +456 -0
- data/src/libvorbis/lsp.h +28 -0
- data/src/libvorbis/mapping0.c +816 -0
- data/src/libvorbis/masking.h +785 -0
- data/src/libvorbis/mdct.c +563 -0
- data/src/libvorbis/mdct.h +71 -0
- data/src/libvorbis/misc.h +57 -0
- data/src/libvorbis/os.h +186 -0
- data/src/libvorbis/psy.c +1206 -0
- data/src/libvorbis/psy.h +154 -0
- data/src/libvorbis/registry.c +45 -0
- data/src/libvorbis/registry.h +32 -0
- data/src/libvorbis/res0.c +889 -0
- data/src/libvorbis/scales.h +90 -0
- data/src/libvorbis/sharedbook.c +579 -0
- data/src/libvorbis/smallft.c +1255 -0
- data/src/libvorbis/smallft.h +34 -0
- data/src/libvorbis/synthesis.c +184 -0
- data/src/libvorbis/vorbisfile.c +2337 -0
- data/src/libvorbis/window.c +2135 -0
- data/src/libvorbis/window.h +26 -0
- data/src/rubyext.c +2329 -0
- data/src/seal/buf.c +124 -0
- data/src/seal/core.c +283 -0
- data/src/seal/efs.c +74 -0
- data/src/seal/err.c +118 -0
- data/src/seal/fmt.c +86 -0
- data/src/seal/listener.c +111 -0
- data/src/seal/mpg.c +174 -0
- data/src/seal/mpg.h +24 -0
- data/src/seal/ov.c +180 -0
- data/src/seal/ov.h +22 -0
- data/src/seal/raw.c +59 -0
- data/src/seal/reader.c +102 -0
- data/src/seal/reader.h +59 -0
- data/src/seal/rvb.c +368 -0
- data/src/seal/src.c +654 -0
- data/src/seal/stream.c +109 -0
- data/src/seal/threading.c +66 -0
- data/src/seal/threading.h +20 -0
- data/src/seal/wav.c +297 -0
- data/src/seal/wav.h +23 -0
- data/src/win32api.rb +29 -0
- metadata +563 -0
data/include/seal/raw.h
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* raw.h is part of the Scorched End Audio Library (SEAL) and is licensed
|
|
3
|
+
* under the terms of the GNU Lesser General Public License. See COPYING
|
|
4
|
+
* attached with the library.
|
|
5
|
+
*
|
|
6
|
+
* raw.h defines the the data structure `seal_raw_t' that represents raw PCM
|
|
7
|
+
* data as well as a series of operations on them.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
#ifndef _SEAL_RAW_H_
|
|
11
|
+
#define _SEAL_RAW_H_
|
|
12
|
+
|
|
13
|
+
#include <stddef.h>
|
|
14
|
+
#include "err.h"
|
|
15
|
+
|
|
16
|
+
/* Raw PCM data. */
|
|
17
|
+
typedef struct seal_raw_t seal_raw_t;
|
|
18
|
+
/* Raw PCM attribute. */
|
|
19
|
+
typedef struct seal_raw_attr_t seal_raw_attr_t;
|
|
20
|
+
|
|
21
|
+
/*
|
|
22
|
+
* bit_depth bits per sample
|
|
23
|
+
* nchannels number of channels
|
|
24
|
+
* freq frequency or sample rate
|
|
25
|
+
*/
|
|
26
|
+
struct seal_raw_attr_t
|
|
27
|
+
{
|
|
28
|
+
int bit_depth;
|
|
29
|
+
int nchannels;
|
|
30
|
+
int freq;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
/*
|
|
34
|
+
* data the raw PCM data
|
|
35
|
+
* size receives the size of the data
|
|
36
|
+
*/
|
|
37
|
+
struct seal_raw_t
|
|
38
|
+
{
|
|
39
|
+
void* data;
|
|
40
|
+
size_t size;
|
|
41
|
+
seal_raw_attr_t attr;
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
#define SEAL_RAW_ATTR_INIT_LST { 0, 0, 0 }
|
|
45
|
+
#define SEAL_RAW_INIT_LST { 0, 0, SEAL_RAW_ATTR_INIT_LST }
|
|
46
|
+
|
|
47
|
+
#ifdef __cplusplus
|
|
48
|
+
extern "C" {
|
|
49
|
+
#endif
|
|
50
|
+
|
|
51
|
+
/*
|
|
52
|
+
* Allocates the memory pointed by `raw->data'.
|
|
53
|
+
*
|
|
54
|
+
* @param raw the raw structure with the `data' field to allocate
|
|
55
|
+
* @param size the size of the memory to allocate
|
|
56
|
+
*/
|
|
57
|
+
seal_err_t seal_alloc_raw_data(seal_raw_t*, size_t);
|
|
58
|
+
|
|
59
|
+
/*
|
|
60
|
+
* Deallocates the memory pointed by `raw->data'.
|
|
61
|
+
*
|
|
62
|
+
* @param raw the raw structure with the `data' field to deallocate
|
|
63
|
+
*/
|
|
64
|
+
void seal_free_raw_data(seal_raw_t*);
|
|
65
|
+
|
|
66
|
+
/*
|
|
67
|
+
* Extends the size of the memory pointed by `raw->data'.
|
|
68
|
+
*
|
|
69
|
+
* @param raw the raw structure with the `data' field to extend
|
|
70
|
+
*/
|
|
71
|
+
seal_err_t seal_extend_raw_data(seal_raw_t*);
|
|
72
|
+
|
|
73
|
+
/*
|
|
74
|
+
* Ensures the size of the memory pointed by `raw->data' is larger than `size'
|
|
75
|
+
* and extends the memory if necessary.
|
|
76
|
+
*
|
|
77
|
+
* @param raw the raw structure with the `data' field to ensure
|
|
78
|
+
* @param size the size to ensure `raw->data' to have
|
|
79
|
+
*/
|
|
80
|
+
seal_err_t seal_ensure_raw_data_size(seal_raw_t*, size_t);
|
|
81
|
+
|
|
82
|
+
#ifdef __cplusplus
|
|
83
|
+
}
|
|
84
|
+
#endif
|
|
85
|
+
|
|
86
|
+
#endif /* _SEAL_RAW_H_ */
|
data/include/seal/rvb.h
ADDED
|
@@ -0,0 +1,520 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* rvb.h is part of the Scorched End Audio Library (SEAL) and is licensed
|
|
3
|
+
* under the terms of the GNU Lesser General Public License. See COPYING
|
|
4
|
+
* attached with the library.
|
|
5
|
+
*
|
|
6
|
+
* rvb.h defines the reverberation effect type and its parameters. Effect
|
|
7
|
+
* objects can be put into an effect slot for sources to use.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
#ifndef _SEAL_RVB_H_
|
|
11
|
+
#define _SEAL_RVB_H_
|
|
12
|
+
|
|
13
|
+
#include "err.h"
|
|
14
|
+
|
|
15
|
+
enum seal_rvb_preset_t
|
|
16
|
+
{
|
|
17
|
+
/* Default presets. */
|
|
18
|
+
SEAL_GENERIC_REVERB,
|
|
19
|
+
SEAL_PADDEDCELL_REVERB,
|
|
20
|
+
SEAL_ROOM_REVERB,
|
|
21
|
+
SEAL_BATHROOM_REVERB,
|
|
22
|
+
SEAL_LIVINGROOM_REVERB,
|
|
23
|
+
SEAL_STONEROOM_REVERB,
|
|
24
|
+
SEAL_AUDITORIUM_REVERB,
|
|
25
|
+
SEAL_CONCERTHALL_REVERB,
|
|
26
|
+
SEAL_CAVE_REVERB,
|
|
27
|
+
SEAL_ARENA_REVERB,
|
|
28
|
+
SEAL_HANGAR_REVERB,
|
|
29
|
+
SEAL_CARPETEDHALLWAY_REVERB,
|
|
30
|
+
SEAL_HALLWAY_REVERB,
|
|
31
|
+
SEAL_STONECORRIDOR_REVERB,
|
|
32
|
+
SEAL_ALLEY_REVERB,
|
|
33
|
+
SEAL_FOREST_REVERB,
|
|
34
|
+
SEAL_CITY_REVERB,
|
|
35
|
+
SEAL_MOUNTAINS_REVERB,
|
|
36
|
+
SEAL_QUARRY_REVERB,
|
|
37
|
+
SEAL_PLAIN_REVERB,
|
|
38
|
+
SEAL_PARKINGLOT_REVERB,
|
|
39
|
+
SEAL_SEWERPIPE_REVERB,
|
|
40
|
+
SEAL_UNDERWATER_REVERB,
|
|
41
|
+
SEAL_DRUGGED_REVERB,
|
|
42
|
+
SEAL_DIZZY_REVERB,
|
|
43
|
+
SEAL_PSYCHOTIC_REVERB,
|
|
44
|
+
|
|
45
|
+
/* Castle presets. */
|
|
46
|
+
SEAL_CASTLE_SMALLROOM_REVERB,
|
|
47
|
+
SEAL_CASTLE_SHORTPASSAGE_REVERB,
|
|
48
|
+
SEAL_CASTLE_MEDIUMROOM_REVERB,
|
|
49
|
+
SEAL_CASTLE_LARGEROOM_REVERB,
|
|
50
|
+
SEAL_CASTLE_LONGPASSAGE_REVERB,
|
|
51
|
+
SEAL_CASTLE_HALL_REVERB,
|
|
52
|
+
SEAL_CASTLE_CUPBOARD_REVERB,
|
|
53
|
+
SEAL_CASTLE_COURTYARD_REVERB,
|
|
54
|
+
SEAL_CASTLE_ALCOVE_REVERB,
|
|
55
|
+
|
|
56
|
+
/* Factory presets. */
|
|
57
|
+
SEAL_FACTORY_SMALLROOM_REVERB,
|
|
58
|
+
SEAL_FACTORY_SHORTPASSAGE_REVERB,
|
|
59
|
+
SEAL_FACTORY_MEDIUMROOM_REVERB,
|
|
60
|
+
SEAL_FACTORY_LARGEROOM_REVERB,
|
|
61
|
+
SEAL_FACTORY_LONGPASSAGE_REVERB,
|
|
62
|
+
SEAL_FACTORY_HALL_REVERB,
|
|
63
|
+
SEAL_FACTORY_CUPBOARD_REVERB,
|
|
64
|
+
SEAL_FACTORY_COURTYARD_REVERB,
|
|
65
|
+
SEAL_FACTORY_ALCOVE_REVERB,
|
|
66
|
+
|
|
67
|
+
/* Ice palace presets. */
|
|
68
|
+
SEAL_ICEPALACE_SMALLROOM_REVERB,
|
|
69
|
+
SEAL_ICEPALACE_SHORTPASSAGE_REVERB,
|
|
70
|
+
SEAL_ICEPALACE_MEDIUMROOM_REVERB,
|
|
71
|
+
SEAL_ICEPALACE_LARGEROOM_REVERB,
|
|
72
|
+
SEAL_ICEPALACE_LONGPASSAGE_REVERB,
|
|
73
|
+
SEAL_ICEPALACE_HALL_REVERB,
|
|
74
|
+
SEAL_ICEPALACE_CUPBOARD_REVERB,
|
|
75
|
+
SEAL_ICEPALACE_COURTYARD_REVERB,
|
|
76
|
+
SEAL_ICEPALACE_ALCOVE_REVERB,
|
|
77
|
+
|
|
78
|
+
/* Space station presets. */
|
|
79
|
+
SEAL_SPACESTATION_SMALLROOM_REVERB,
|
|
80
|
+
SEAL_SPACESTATION_SHORTPASSAGE_REVERB,
|
|
81
|
+
SEAL_SPACESTATION_MEDIUMROOM_REVERB,
|
|
82
|
+
SEAL_SPACESTATION_LARGEROOM_REVERB,
|
|
83
|
+
SEAL_SPACESTATION_LONGPASSAGE_REVERB,
|
|
84
|
+
SEAL_SPACESTATION_HALL_REVERB,
|
|
85
|
+
SEAL_SPACESTATION_CUPBOARD_REVERB,
|
|
86
|
+
SEAL_SPACESTATION_ALCOVE_REVERB,
|
|
87
|
+
|
|
88
|
+
/* Wooden galleon presets. */
|
|
89
|
+
SEAL_WOODEN_SMALLROOM_REVERB,
|
|
90
|
+
SEAL_WOODEN_SHORTPASSAGE_REVERB,
|
|
91
|
+
SEAL_WOODEN_MEDIUMROOM_REVERB,
|
|
92
|
+
SEAL_WOODEN_LARGEROOM_REVERB,
|
|
93
|
+
SEAL_WOODEN_LONGPASSAGE_REVERB,
|
|
94
|
+
SEAL_WOODEN_HALL_REVERB,
|
|
95
|
+
SEAL_WOODEN_CUPBOARD_REVERB,
|
|
96
|
+
SEAL_WOODEN_COURTYARD_REVERB,
|
|
97
|
+
SEAL_WOODEN_ALCOVE_REVERB,
|
|
98
|
+
|
|
99
|
+
/* Sports presets. */
|
|
100
|
+
SEAL_SPORT_EMPTYSTADIUM_REVERB,
|
|
101
|
+
SEAL_SPORT_SQUASHCOURT_REVERB,
|
|
102
|
+
SEAL_SPORT_SMALLSWIMMINGPOOL_REVERB,
|
|
103
|
+
SEAL_SPORT_LARGESWIMMINGPOOL_REVERB,
|
|
104
|
+
SEAL_SPORT_GYMNASIUM_REVERB,
|
|
105
|
+
SEAL_SPORT_FULLSTADIUM_REVERB,
|
|
106
|
+
SEAL_SPORT_STADIUMTANNOY_REVERB,
|
|
107
|
+
|
|
108
|
+
/* Prefab presets. */
|
|
109
|
+
SEAL_PREFAB_WORKSHOP_REVERB,
|
|
110
|
+
SEAL_PREFAB_SCHOOLROOM_REVERB,
|
|
111
|
+
SEAL_PREFAB_PRACTISEROOM_REVERB,
|
|
112
|
+
SEAL_PREFAB_OUTHOUSE_REVERB,
|
|
113
|
+
SEAL_PREFAB_CARAVAN_REVERB,
|
|
114
|
+
|
|
115
|
+
/* Dome presets. */
|
|
116
|
+
SEAL_DOME_TOMB_REVERB,
|
|
117
|
+
SEAL_DOME_SAINTPAULS_REVERB,
|
|
118
|
+
|
|
119
|
+
/* Pipe presets. */
|
|
120
|
+
SEAL_PIPE_SMALL_REVERB,
|
|
121
|
+
SEAL_PIPE_LONGTHIN_REVERB,
|
|
122
|
+
SEAL_PIPE_LARGE_REVERB,
|
|
123
|
+
SEAL_PIPE_RESONANT_REVERB,
|
|
124
|
+
|
|
125
|
+
/* Outdoors presets. */
|
|
126
|
+
SEAL_OUTDOORS_BACKYARD_REVERB,
|
|
127
|
+
SEAL_OUTDOORS_ROLLINGPLAINS_REVERB,
|
|
128
|
+
SEAL_OUTDOORS_DEEPCANYON_REVERB,
|
|
129
|
+
SEAL_OUTDOORS_CREEK_REVERB,
|
|
130
|
+
SEAL_OUTDOORS_VALLEY_REVERB,
|
|
131
|
+
|
|
132
|
+
/* Mood presets. */
|
|
133
|
+
SEAL_MOOD_HEAVEN_REVERB,
|
|
134
|
+
SEAL_MOOD_HELL_REVERB,
|
|
135
|
+
SEAL_MOOD_MEMORY_REVERB,
|
|
136
|
+
|
|
137
|
+
/* Driving presets. */
|
|
138
|
+
SEAL_DRIVING_COMMENTATOR_REVERB,
|
|
139
|
+
SEAL_DRIVING_PITGARAGE_REVERB,
|
|
140
|
+
SEAL_DRIVING_INCAR_RACER_REVERB,
|
|
141
|
+
SEAL_DRIVING_INCAR_SPORTS_REVERB,
|
|
142
|
+
SEAL_DRIVING_INCAR_LUXURY_REVERB,
|
|
143
|
+
SEAL_DRIVING_FULLGRANDSTAND_REVERB,
|
|
144
|
+
SEAL_DRIVING_EMPTYGRANDSTAND_REVERB,
|
|
145
|
+
SEAL_DRIVING_TUNNEL_REVERB,
|
|
146
|
+
|
|
147
|
+
/* City presets. */
|
|
148
|
+
SEAL_CITY_STREETS_REVERB,
|
|
149
|
+
SEAL_CITY_SUBWAY_REVERB,
|
|
150
|
+
SEAL_CITY_MUSEUM_REVERB,
|
|
151
|
+
SEAL_CITY_LIBRARY_REVERB,
|
|
152
|
+
SEAL_CITY_UNDERPASS_REVERB,
|
|
153
|
+
SEAL_CITY_ABANDONED_REVERB,
|
|
154
|
+
|
|
155
|
+
/* Misc. presets. */
|
|
156
|
+
SEAL_DUSTYROOM_REVERB,
|
|
157
|
+
SEAL_CHAPEL_REVERB,
|
|
158
|
+
SEAL_SMALLWATERROOM_REVERB
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
typedef struct seal_rvb_t seal_rvb_t;
|
|
162
|
+
typedef enum seal_rvb_preset_t seal_rvb_preset_t;
|
|
163
|
+
|
|
164
|
+
#ifdef __cplusplus
|
|
165
|
+
extern "C" {
|
|
166
|
+
#endif
|
|
167
|
+
|
|
168
|
+
/*
|
|
169
|
+
* Initializes a new reverb effect. If the reverb is no longer needed, call
|
|
170
|
+
* `seal_destroy_rvb' to release the resources used by the reverb.
|
|
171
|
+
*
|
|
172
|
+
* @param reverb the reverb object to initialize
|
|
173
|
+
*/
|
|
174
|
+
seal_err_t seal_init_rvb(seal_rvb_t*);
|
|
175
|
+
|
|
176
|
+
/*
|
|
177
|
+
* Destroys a reverb effect.
|
|
178
|
+
*
|
|
179
|
+
* @param reverb the reverb to destroy
|
|
180
|
+
*/
|
|
181
|
+
seal_err_t seal_destroy_rvb(seal_rvb_t*);
|
|
182
|
+
|
|
183
|
+
/*
|
|
184
|
+
* Loads the specified reverb paramter preset into a reverb object.
|
|
185
|
+
*
|
|
186
|
+
* @param reverb the reverb to load the preset into
|
|
187
|
+
* @param preset the preset to load
|
|
188
|
+
*/
|
|
189
|
+
seal_err_t seal_load_rvb(seal_rvb_t*, seal_rvb_preset_t);
|
|
190
|
+
|
|
191
|
+
/*
|
|
192
|
+
* Sets the modal density of a reverb in the interval [0.0f, 1.0f]. The
|
|
193
|
+
* density controls the coloration of the late reverb. The Lower the value,
|
|
194
|
+
* the more coloration.
|
|
195
|
+
*
|
|
196
|
+
* @param reverb the reverb to set the density of
|
|
197
|
+
* @param density the density
|
|
198
|
+
*/
|
|
199
|
+
seal_err_t seal_set_rvb_density(seal_rvb_t*, float /*density*/);
|
|
200
|
+
|
|
201
|
+
/*
|
|
202
|
+
* Sets the diffusion of a reverb in the interval [0.0f, 1.0f]. The diffusion
|
|
203
|
+
* controls the echo density in the reverberation decay. Reducing diffusion
|
|
204
|
+
* gives the reverberation a more "grainy" character that is especially
|
|
205
|
+
* noticeable with percussive sound sources. If you set a diffusion value of
|
|
206
|
+
* 0.0f, the later reverberation sounds like a succession of distinct echoes.
|
|
207
|
+
*
|
|
208
|
+
* @param reverb the reverb to set the diffusion of
|
|
209
|
+
* @param diffusion the diffusion
|
|
210
|
+
*/
|
|
211
|
+
seal_err_t seal_set_rvb_diffusion(seal_rvb_t*, float /*diffusion*/);
|
|
212
|
+
|
|
213
|
+
/*
|
|
214
|
+
* Sets the gain of a reverb in the interval [0.0f, 1.0f], or from -100 dB (no
|
|
215
|
+
* reflected sound at all) to 0 dB (the maximum amount). The gain is the
|
|
216
|
+
* master volume control for the reflected sound (both early reflections and
|
|
217
|
+
* reverberation) that the reverb effect adds to all sources. It sets the
|
|
218
|
+
* maximum amount of reflections and reverberation added to the final sound
|
|
219
|
+
* mix.
|
|
220
|
+
*
|
|
221
|
+
* @param reverb the reverb to set the gain of
|
|
222
|
+
* @param gain the gain
|
|
223
|
+
*/
|
|
224
|
+
seal_err_t seal_set_rvb_gain(seal_rvb_t*, float /*gain*/);
|
|
225
|
+
|
|
226
|
+
/*
|
|
227
|
+
* Sets the high-frequency gain of a reverb in the interval [0.0f, 1.0f], or
|
|
228
|
+
* from -100 dB (virtually no reflected sound) to 0 dB (no filter). The high-
|
|
229
|
+
* frequency gain further tweaks reflected sound by attenuating it at high
|
|
230
|
+
* frequencies. It controls a low-pass filter that applies globally to the
|
|
231
|
+
* reflected sound of all sound sources feeding the particular instance of the
|
|
232
|
+
* reverb effect.
|
|
233
|
+
*
|
|
234
|
+
* @param reverb the reverb to set the high-frequency gain of
|
|
235
|
+
* @param hfgain the high-frequency gain
|
|
236
|
+
*/
|
|
237
|
+
seal_err_t seal_set_rvb_hfgain(seal_rvb_t*, float /*hfgain*/);
|
|
238
|
+
|
|
239
|
+
/*
|
|
240
|
+
* Sets the decay time of a reverb in the interval [0.1f, 20.0f], typically
|
|
241
|
+
* from a small room with very dead surfaces to a large room with very live
|
|
242
|
+
* surfaces.
|
|
243
|
+
*
|
|
244
|
+
* @param reverb the reverb to set the decay time of
|
|
245
|
+
* @param time the decay time
|
|
246
|
+
*/
|
|
247
|
+
seal_err_t seal_set_rvb_decay_time(seal_rvb_t*, float /*time*/);
|
|
248
|
+
|
|
249
|
+
/*
|
|
250
|
+
* Sets the high-frequency decay ratio, or the spectral quality of the decay
|
|
251
|
+
* time of a reverb in the interval [0.1, 20.0]. It is the ratio of high-
|
|
252
|
+
* frequency decay time relative to the time set by decay Time. 1.0 means
|
|
253
|
+
* neutral: the decay time is equal for all frequencies. As this value
|
|
254
|
+
* increases above 1.0, the high-frequency decay time increases so it's longer
|
|
255
|
+
* than the decay time at low frequencies. You hear a more brilliant
|
|
256
|
+
* reverberation with a longer decay at high frequencies. As this value
|
|
257
|
+
* decreases below 1.0, the high-frequency decay time decreases so it's
|
|
258
|
+
* shorter than the decay time of the low frequencies. You hear a more natural
|
|
259
|
+
* reverberation.
|
|
260
|
+
*
|
|
261
|
+
* @param reverb the reverb to set the decay high-frequency ratio of
|
|
262
|
+
* @param ratio the decay high-frequency ratio
|
|
263
|
+
*/
|
|
264
|
+
seal_err_t seal_set_rvb_hfdecay_ratio(seal_rvb_t*, float /*ratio*/);
|
|
265
|
+
|
|
266
|
+
/*
|
|
267
|
+
* Sets the reflections gain, or the overall amount of initial reflections
|
|
268
|
+
* relative to the gain of a reverb in the interval [0.0f, 3.16f], or from
|
|
269
|
+
* -100 dB (no initial reflections at all) to 10 dB. The reflections gain is
|
|
270
|
+
* corrected by the value of the gain property and does not affect the
|
|
271
|
+
* subsequent reverberation decay.
|
|
272
|
+
*
|
|
273
|
+
* You can increase the amount of initial reflections to simulate a more
|
|
274
|
+
* narrow space or closer walls, especially effective if you associate the
|
|
275
|
+
* initial reflections increase with a reduction in reflections delays by
|
|
276
|
+
* lowering the value of the reflection delay property. To simulate open or
|
|
277
|
+
* semi-open environments, you can maintain the amount of early reflections
|
|
278
|
+
* while reducing the value of the late gain property, which controls later
|
|
279
|
+
* reflections.
|
|
280
|
+
*
|
|
281
|
+
* @param reverb the reverb to set the reflections gain of
|
|
282
|
+
* @param gain the reflections gain
|
|
283
|
+
*/
|
|
284
|
+
seal_err_t seal_set_rvb_reflections_gain(seal_rvb_t*, float /*gain*/);
|
|
285
|
+
|
|
286
|
+
/*
|
|
287
|
+
* Sets the reflections delay of a reverb in the interval [0.0f, 0.3f] (in
|
|
288
|
+
* seconds). It is the amount of delay between the arrival time of the direct
|
|
289
|
+
* path from the source to the first reflection from the source. You can
|
|
290
|
+
* reduce or increase this delay to simulate closer or more distant reflective
|
|
291
|
+
* surfaces and therefore control the perceived size of the room.
|
|
292
|
+
*
|
|
293
|
+
* @param reverb the reverb to set the reflections delay of
|
|
294
|
+
* @param delay the reflections delay
|
|
295
|
+
*/
|
|
296
|
+
seal_err_t seal_set_rvb_reflections_delay(seal_rvb_t*, float /*delay*/);
|
|
297
|
+
|
|
298
|
+
/*
|
|
299
|
+
* Sets the late gain, or the overall amount of later reverberation relative
|
|
300
|
+
* to the gain of a reverb in the interval [0.0f, 10.0f], or from -100 dB (no
|
|
301
|
+
* late reverberation at all) to 20 dB.
|
|
302
|
+
*
|
|
303
|
+
* Note that late gain and decay time are independent properties: if you
|
|
304
|
+
* adjust decay time without changing late gain, the total intensity (the
|
|
305
|
+
* averaged square of the amplitude) of the late reverberation remains
|
|
306
|
+
* constant.
|
|
307
|
+
*
|
|
308
|
+
* @param reverb the reverb to set the late gain of
|
|
309
|
+
* @param gain the late gain
|
|
310
|
+
*/
|
|
311
|
+
seal_err_t seal_set_rvb_late_gain(seal_rvb_t*, float /*gain*/);
|
|
312
|
+
|
|
313
|
+
/*
|
|
314
|
+
* Sets the late delay of a reverb in the interval [0.0f, 0.1f] (in second)
|
|
315
|
+
* It defines the begin time of the late reverberation relative to the time of
|
|
316
|
+
* the initial reflection (the first of the early reflections). Reducing or
|
|
317
|
+
* increasing late delay is useful for simulating a smaller or larger room.
|
|
318
|
+
*
|
|
319
|
+
* @param reverb the reverb to set the late delay of
|
|
320
|
+
* @param delay the late delay
|
|
321
|
+
*/
|
|
322
|
+
seal_err_t seal_set_rvb_late_delay(seal_rvb_t*, float /*delay*/);
|
|
323
|
+
|
|
324
|
+
/*
|
|
325
|
+
* Sets the air absorption high-frequency gain of a reverb in the interval
|
|
326
|
+
* [0.892f, 1.0f]. It controls the distance-dependent attenuation at high
|
|
327
|
+
* frequencies caused by the propagation medium. It applies to reflected sound
|
|
328
|
+
* only. You can use this value to simulate sound transmission through foggy
|
|
329
|
+
* air, dry air, smoky atmosphere, and so on. The default value 0.994
|
|
330
|
+
* (-0.05 dB) per meter, which roughly corresponds to typical condition of
|
|
331
|
+
* atmospheric humidity, temperature, and so on. Lowering the value simulates
|
|
332
|
+
* a more absorbent medium (more humidity in the air, for example); raising
|
|
333
|
+
* the value simulates a less absorbent medium (dry desert air, for example).
|
|
334
|
+
*
|
|
335
|
+
* @param reverb the reverb to set the air absorption gain of
|
|
336
|
+
* @param gain the air absorption high-frequency gain
|
|
337
|
+
*/
|
|
338
|
+
seal_err_t seal_set_rvb_air_absorbtion_hfgain(seal_rvb_t*, float /*hfgain*/);
|
|
339
|
+
|
|
340
|
+
/*
|
|
341
|
+
* Sets the room rolloff factor of a reverb in the interval [0.0f, 10.0f]. It
|
|
342
|
+
* is one of two methods available to attenuate the reflected sound
|
|
343
|
+
* (containing both reflections and reverberation) according to source-
|
|
344
|
+
* listener distance. It is defined the same way as the global rolloff factor,
|
|
345
|
+
* but operates on reverb sound instead of direct-path sound. Setting the room
|
|
346
|
+
* rolloff factor value to 1.0 specifies that the reflected sound will decay
|
|
347
|
+
* by 6 dB every time the distance doubles. Any value other than 1.0 is
|
|
348
|
+
* equivalent to a scaling factor applied to the quantity specified by
|
|
349
|
+
* ((Source listener distance) - (Reference Distance)). Reference Distance is
|
|
350
|
+
* an OpenAL source parameter that specifies the inner border for distance
|
|
351
|
+
* rolloff effects: if the source comes closer to the listener than the
|
|
352
|
+
* reference distance, the direct-path sound isn't increased as the source
|
|
353
|
+
* comes closer to the listener, and neither is the reflected sound.
|
|
354
|
+
*
|
|
355
|
+
* The default value of Room Rolloff Factor is 0.0 because, by default, the
|
|
356
|
+
* reverb effect naturally manages the reflected sound level automatically for
|
|
357
|
+
* each sound source to simulate the natural rolloff of reflected sound vs.
|
|
358
|
+
* distance in typical rooms. (Note that this isn't the case if the source
|
|
359
|
+
* property @TODO is set to false.) You can use this value as an option to
|
|
360
|
+
* automatic control so you can exaggerate or replace the default
|
|
361
|
+
* automatically-controlled rolloff.
|
|
362
|
+
*
|
|
363
|
+
* @param reverb the reverb to set the room rolloff factor of
|
|
364
|
+
* @param factor the room rolloff factor
|
|
365
|
+
*/
|
|
366
|
+
seal_err_t seal_set_rvb_room_rolloff_factor(seal_rvb_t*, float /*factor*/);
|
|
367
|
+
|
|
368
|
+
/*
|
|
369
|
+
* Sets whether the high-frequency decay time automatically stays below a
|
|
370
|
+
* limit value that's derived from the setting of the air absorption high-
|
|
371
|
+
* frequency gain. This limit applies regardless of the setting of the
|
|
372
|
+
* decay high-frequency ratio, and the limit doesn't affect the value of decay
|
|
373
|
+
* high-frequency ratio. This limit, when on, maintains a natural sounding
|
|
374
|
+
* reverberation decay by allowing you to increase the value of decay time
|
|
375
|
+
* without the risk of getting an unnaturally long decay time at high
|
|
376
|
+
* frequencies. If this flag is set to false, high-frequency decay time isn't
|
|
377
|
+
* automatically limited.
|
|
378
|
+
*
|
|
379
|
+
* @param reverb the reverb to set the high-frequency decay limit flag of
|
|
380
|
+
* @param limited 1 to set it limited or otherwise 0
|
|
381
|
+
*/
|
|
382
|
+
seal_err_t seal_set_rvb_hfdecay_limited(seal_rvb_t*, char /*limited*/);
|
|
383
|
+
|
|
384
|
+
/*
|
|
385
|
+
* Gets the density of a reverb. The default is 1.0f.
|
|
386
|
+
*
|
|
387
|
+
* @see seal_set_rvb_density
|
|
388
|
+
* @param reverb the source to get the density of
|
|
389
|
+
* @param pdensity the receiver of the density
|
|
390
|
+
*/
|
|
391
|
+
seal_err_t seal_get_rvb_density(seal_rvb_t*, float* /*pdensity*/);
|
|
392
|
+
|
|
393
|
+
/*
|
|
394
|
+
* Gets the diffusion of a reverb. The default is 1.0f.
|
|
395
|
+
*
|
|
396
|
+
* @see seal_set_rvb_diffusion
|
|
397
|
+
* @param reverb the source to get the diffusion of
|
|
398
|
+
* @param pdiffusion the receiver of diffusion
|
|
399
|
+
*/
|
|
400
|
+
seal_err_t seal_get_rvb_diffusion(seal_rvb_t*, float* /*pdiffusion*/);
|
|
401
|
+
|
|
402
|
+
/*
|
|
403
|
+
* Gets the gain of a reverb. The default is 0.32f.
|
|
404
|
+
*
|
|
405
|
+
* @see seal_set_rvb_gain
|
|
406
|
+
* @param reverb the source to get the gain of
|
|
407
|
+
* @param pgain the receiver of the gain
|
|
408
|
+
*/
|
|
409
|
+
seal_err_t seal_get_rvb_gain(seal_rvb_t*, float* /*pgain*/);
|
|
410
|
+
|
|
411
|
+
/*
|
|
412
|
+
* Gets the high-frequency gain of a reverb. The default is 0.89f.
|
|
413
|
+
*
|
|
414
|
+
* @see seal_set_rvb_hfgain
|
|
415
|
+
* @param reverb the source to get the high-frequency gain of
|
|
416
|
+
* @param phfgain the receiver of the high-frequency gain
|
|
417
|
+
*/
|
|
418
|
+
seal_err_t seal_get_rvb_hfgain(seal_rvb_t*, float* /*phfgain*/);
|
|
419
|
+
|
|
420
|
+
/*
|
|
421
|
+
* Gets the decay time of a reverb. The default is 1.49f.
|
|
422
|
+
*
|
|
423
|
+
* @see seal_set_rvb_decay_time
|
|
424
|
+
* @param reverb the source to get the decay time of
|
|
425
|
+
* @param ptime the receiver of the decay time
|
|
426
|
+
*/
|
|
427
|
+
seal_err_t seal_get_rvb_decay_time(seal_rvb_t*, float* /*ptime*/);
|
|
428
|
+
|
|
429
|
+
/*
|
|
430
|
+
* Gets the high-frequency decay ratio of a reverb. The default is 0.83f.
|
|
431
|
+
*
|
|
432
|
+
* @see seal_set_rvb_hfdecay_ratio
|
|
433
|
+
* @param reverb the source to get the high-frequency decay time of
|
|
434
|
+
* @param pratio the receiver of the high-frequency decay ratio
|
|
435
|
+
*/
|
|
436
|
+
seal_err_t seal_get_rvb_hfdecay_ratio(seal_rvb_t*, float* /*pratio*/);
|
|
437
|
+
|
|
438
|
+
/*
|
|
439
|
+
* Gets the reflections gain of a reverb. The default is 0.05f.
|
|
440
|
+
*
|
|
441
|
+
* @see seal_set_rvb_reflections_gain
|
|
442
|
+
* @param reverb the source to get the reflections gain of
|
|
443
|
+
* @param pgain the receiver of the reflections gain
|
|
444
|
+
*/
|
|
445
|
+
seal_err_t seal_get_rvb_reflections_gain(seal_rvb_t*, float* /*pgain*/);
|
|
446
|
+
|
|
447
|
+
/*
|
|
448
|
+
* Gets the reflections delay of a reverb. The default is 0.007f.
|
|
449
|
+
*
|
|
450
|
+
* @see seal_set_rvb_reflections_delay
|
|
451
|
+
* @param reverb the source to get the reflections delay of
|
|
452
|
+
* @param pdelay the receiver of the reflections delay
|
|
453
|
+
*/
|
|
454
|
+
seal_err_t seal_get_rvb_reflections_delay(seal_rvb_t*, float* /*pdelay*/);
|
|
455
|
+
|
|
456
|
+
/*
|
|
457
|
+
* Gets the late gain of a reverb. The default is 1.26f.
|
|
458
|
+
*
|
|
459
|
+
* @see seal_set_rvb_late_gain
|
|
460
|
+
* @param reverb the source to get the late gain of
|
|
461
|
+
* @param pgain the receiver of the late gain
|
|
462
|
+
*/
|
|
463
|
+
seal_err_t seal_get_rvb_late_gain(seal_rvb_t*, float* /*pgain*/);
|
|
464
|
+
|
|
465
|
+
/*
|
|
466
|
+
* Gets the late delay of a reverb. The default is 0.011f.
|
|
467
|
+
*
|
|
468
|
+
* @see seal_set_rvb_late_delay
|
|
469
|
+
* @param reverb the source to get the late delay of
|
|
470
|
+
* @param pdelay the receiver of the late delay
|
|
471
|
+
*/
|
|
472
|
+
seal_err_t seal_get_rvb_late_delay(seal_rvb_t*, float* /*pdelay*/);
|
|
473
|
+
|
|
474
|
+
/*
|
|
475
|
+
* Gets the air absorbtion high-frequency gain of a reverb. The default is
|
|
476
|
+
* 0.994f.
|
|
477
|
+
*
|
|
478
|
+
* @see seal_set_rvb_air_absorbtion_hfgain
|
|
479
|
+
* @param reverb the source to get the gain of
|
|
480
|
+
* @param phfgain the receiver of the air absorbtion high-frequency gain
|
|
481
|
+
*/
|
|
482
|
+
seal_err_t seal_get_rvb_air_absorbtion_hfgain(seal_rvb_t*,
|
|
483
|
+
float* /*phfgain*/);
|
|
484
|
+
|
|
485
|
+
/*
|
|
486
|
+
* Gets the room rolloff factor of a reverb. The default is 0.0f.
|
|
487
|
+
*
|
|
488
|
+
* @see seal_set_rvb_room_rolloff_factor
|
|
489
|
+
* @param reverb the source to get the factor of
|
|
490
|
+
* @param pfactor the receiver of the room rolloff factor
|
|
491
|
+
*/
|
|
492
|
+
seal_err_t seal_get_rvb_room_rolloff_factor(seal_rvb_t*,
|
|
493
|
+
float* /*pfactor*/);
|
|
494
|
+
|
|
495
|
+
/*
|
|
496
|
+
* Determines if the high-frequency decay of a reverb is limited. The default
|
|
497
|
+
* is true (1).
|
|
498
|
+
*
|
|
499
|
+
* @see seal_set_rvb_hfdecay_limited
|
|
500
|
+
* @param reverb the source to get the limited flag of
|
|
501
|
+
* @param plimited the receiver of the limited flag
|
|
502
|
+
*/
|
|
503
|
+
seal_err_t seal_is_rvb_hfdecay_limited(seal_rvb_t*, char* /*plimited*/);
|
|
504
|
+
|
|
505
|
+
#ifdef __cplusplus
|
|
506
|
+
}
|
|
507
|
+
#endif
|
|
508
|
+
|
|
509
|
+
/*
|
|
510
|
+
*****************************************************************************
|
|
511
|
+
* Below are **implementation details**.
|
|
512
|
+
*****************************************************************************
|
|
513
|
+
*/
|
|
514
|
+
|
|
515
|
+
struct seal_rvb_t
|
|
516
|
+
{
|
|
517
|
+
unsigned int id;
|
|
518
|
+
};
|
|
519
|
+
|
|
520
|
+
#endif /* _SEAL_RVB_H_ */
|