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/core.h
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* core.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
|
+
* core.h defines interfaces for low-level Seal operations.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
#ifndef _SEAL_CORE_H_
|
|
10
|
+
#define _SEAL_CORE_H_
|
|
11
|
+
|
|
12
|
+
#include <stddef.h>
|
|
13
|
+
#include "err.h"
|
|
14
|
+
|
|
15
|
+
#ifdef __cplusplus
|
|
16
|
+
extern "C" {
|
|
17
|
+
#endif
|
|
18
|
+
|
|
19
|
+
/*
|
|
20
|
+
* Initializes Seal by specifying the device name. This function is not
|
|
21
|
+
* re-entrant nor thread-safe and should be called only once per Seal session.
|
|
22
|
+
* Match a call to `seal_startup' with a call to `seal_cleanup' and never call
|
|
23
|
+
* `seal_starup' twice in a row.
|
|
24
|
+
*
|
|
25
|
+
* @param device_name the name of a device; 0 to use the default one
|
|
26
|
+
*/
|
|
27
|
+
seal_err_t seal_startup(const char* /*device_name*/);
|
|
28
|
+
|
|
29
|
+
/* Uninitializes Seal and invalidate all Seal objects. Thread-unsafe. */
|
|
30
|
+
void seal_cleanup(void);
|
|
31
|
+
|
|
32
|
+
/*
|
|
33
|
+
* @return the maximum number of effect slots a source can feed concurrently.
|
|
34
|
+
*/
|
|
35
|
+
int seal_get_per_src_effect_limit(void);
|
|
36
|
+
|
|
37
|
+
/*
|
|
38
|
+
* Gets the Seal version string.
|
|
39
|
+
*
|
|
40
|
+
* @return the version string
|
|
41
|
+
*/
|
|
42
|
+
const char* seal_get_version(void);
|
|
43
|
+
|
|
44
|
+
#ifdef __cplusplus
|
|
45
|
+
}
|
|
46
|
+
#endif
|
|
47
|
+
|
|
48
|
+
/*
|
|
49
|
+
*****************************************************************************
|
|
50
|
+
* Below are **implementation details**.
|
|
51
|
+
*****************************************************************************
|
|
52
|
+
*/
|
|
53
|
+
|
|
54
|
+
void _seal_sleep(unsigned int millisec);
|
|
55
|
+
|
|
56
|
+
/* Common types. */
|
|
57
|
+
typedef void _seal_openal_initializer_t(int, unsigned int*);
|
|
58
|
+
typedef void _seal_openal_destroyer_t(int, const unsigned int*);
|
|
59
|
+
typedef char _seal_openal_validator_t(unsigned int);
|
|
60
|
+
typedef void _seal_openal_setterf(unsigned int, int, float);
|
|
61
|
+
typedef void _seal_openal_getterf(unsigned int, int, float*);
|
|
62
|
+
typedef void _seal_openal_setteri(unsigned int, int, int);
|
|
63
|
+
typedef void _seal_openal_getteri(unsigned int, int, int*);
|
|
64
|
+
|
|
65
|
+
/* Common helpers. */
|
|
66
|
+
unsigned int _seal_openal_id(void*);
|
|
67
|
+
seal_err_t _seal_gen_objs(int, unsigned int*, _seal_openal_initializer_t*);
|
|
68
|
+
seal_err_t _seal_delete_objs(int, const unsigned int*,
|
|
69
|
+
_seal_openal_destroyer_t*);
|
|
70
|
+
seal_err_t _seal_init_obj(void*, _seal_openal_initializer_t*);
|
|
71
|
+
seal_err_t _seal_destroy_obj(void*, _seal_openal_destroyer_t*,
|
|
72
|
+
_seal_openal_validator_t*);
|
|
73
|
+
seal_err_t _seal_setf(void*, int, float, _seal_openal_setterf*);
|
|
74
|
+
seal_err_t _seal_getf(void*, int, float*, _seal_openal_getterf*);
|
|
75
|
+
seal_err_t _seal_seti(void*, int, int, _seal_openal_setteri*);
|
|
76
|
+
seal_err_t _seal_geti(void*, int, int*, _seal_openal_getteri*);
|
|
77
|
+
seal_err_t _seal_getb(void*, int, char*, _seal_openal_getteri*);
|
|
78
|
+
|
|
79
|
+
/* OpenAL effect extension functions. */
|
|
80
|
+
extern _seal_openal_initializer_t* alGenEffects;
|
|
81
|
+
extern _seal_openal_destroyer_t* alDeleteEffects;
|
|
82
|
+
extern _seal_openal_validator_t* alIsEffect;
|
|
83
|
+
extern _seal_openal_setterf* alEffectf;
|
|
84
|
+
extern void (*alEffecti)(unsigned int, int, int);
|
|
85
|
+
extern _seal_openal_getterf* alGetEffectf;
|
|
86
|
+
extern void (*alGetEffecti)(unsigned int, int, int*);
|
|
87
|
+
extern _seal_openal_initializer_t* alGenAuxiliaryEffectSlots;
|
|
88
|
+
extern _seal_openal_destroyer_t* alDeleteAuxiliaryEffectSlots;
|
|
89
|
+
extern _seal_openal_validator_t* alIsAuxiliaryEffectSlot;
|
|
90
|
+
extern void (*alAuxiliaryEffectSloti)(unsigned int, int, int);
|
|
91
|
+
extern void (*alAuxiliaryEffectSlotf)(unsigned int, int, float);
|
|
92
|
+
extern void (*alGetAuxiliaryEffectSloti)(unsigned int, int, int*);
|
|
93
|
+
extern void (*alGetAuxiliaryEffectSlotf)(unsigned int, int, float*);
|
|
94
|
+
|
|
95
|
+
#endif /* _SEAL_CORE_H_ */
|
data/include/seal/efs.h
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* efs.h is part of the Scorched End Audio Library (SEAL) and is
|
|
3
|
+
* licensed under the terms of the GNU Lesser General Public License. See
|
|
4
|
+
* COPYING attached with the library.
|
|
5
|
+
*
|
|
6
|
+
* efs.h defines the effect slot type, which is the container type for
|
|
7
|
+
* effects. A source can mix an effect in an effect slot to filter the output
|
|
8
|
+
* sound.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
#ifndef _SEAL_EFS_H_
|
|
12
|
+
#define _SEAL_EFS_H_
|
|
13
|
+
|
|
14
|
+
#include "src.h"
|
|
15
|
+
#include "err.h"
|
|
16
|
+
|
|
17
|
+
typedef struct seal_efs_t seal_efs_t;
|
|
18
|
+
|
|
19
|
+
/*
|
|
20
|
+
* Initializes a new effect slot. If the effect slot is no longer needed, call
|
|
21
|
+
* `seal_destroy_efs' to release the resources used by the effect
|
|
22
|
+
* slot.
|
|
23
|
+
*
|
|
24
|
+
* @param efs the effect slot to initialize
|
|
25
|
+
*/
|
|
26
|
+
seal_err_t seal_init_efs(seal_efs_t*);
|
|
27
|
+
|
|
28
|
+
/*
|
|
29
|
+
* Destroys an effect slot.
|
|
30
|
+
*
|
|
31
|
+
* @param efs the effect slot to destroy
|
|
32
|
+
*/
|
|
33
|
+
seal_err_t seal_destroy_efs(seal_efs_t*);
|
|
34
|
+
|
|
35
|
+
/*
|
|
36
|
+
* Fills an effect slot with an effect object, then the effect Slot will
|
|
37
|
+
* become ready to be mixed with sources. Pass 0 to unfill the slot.
|
|
38
|
+
*
|
|
39
|
+
* @param efs the effect slot to fill
|
|
40
|
+
* @param effect the effect to fill the effect slot with
|
|
41
|
+
*/
|
|
42
|
+
seal_err_t seal_set_efs_effect(seal_efs_t*, void* /*effect*/);
|
|
43
|
+
|
|
44
|
+
/*
|
|
45
|
+
* Mixes a sound effect loaded into an effect slot with a source's output.
|
|
46
|
+
* Later calls to this function with a different effect slot and the same
|
|
47
|
+
* index will override the old effect slot association.
|
|
48
|
+
*
|
|
49
|
+
* @see seal_get_neffects_per_src
|
|
50
|
+
* @param efs the slot that contains the effect to mix
|
|
51
|
+
* @param index the zero-based index of the effect
|
|
52
|
+
* @param src the source that feeds the effect slot
|
|
53
|
+
*/
|
|
54
|
+
seal_err_t seal_feed_efs(seal_efs_t*, int /*index*/, seal_src_t*);
|
|
55
|
+
|
|
56
|
+
/*
|
|
57
|
+
* Sets the output level of an effect Slot in the interval [0.0f, 1.0f]. A
|
|
58
|
+
* value of 0.0 mutes the output.
|
|
59
|
+
*
|
|
60
|
+
* @param efs the effect slot to set the gain of
|
|
61
|
+
* @param gain the gain
|
|
62
|
+
*/
|
|
63
|
+
seal_err_t seal_set_efs_gain(seal_efs_t*, float /*gain*/);
|
|
64
|
+
|
|
65
|
+
/*
|
|
66
|
+
* Sets whether the effect should have automatic adjustments based on the
|
|
67
|
+
* physical positions of the sources and the listener.
|
|
68
|
+
*
|
|
69
|
+
* @param efs the effect slot to set the auto adjust flag of
|
|
70
|
+
* @param automatic 1 to set it auto adjust or otherwise 0
|
|
71
|
+
*/
|
|
72
|
+
seal_err_t seal_set_efs_auto(seal_efs_t*, char /*automatic*/);
|
|
73
|
+
|
|
74
|
+
/*
|
|
75
|
+
* Gets the effect object in an effect slot. The default is 0 (null pointer).
|
|
76
|
+
*
|
|
77
|
+
* @param efs the effect slot to get the effect object of
|
|
78
|
+
* @return the effect object
|
|
79
|
+
*/
|
|
80
|
+
void* seal_get_efs_effect(seal_efs_t*);
|
|
81
|
+
|
|
82
|
+
/*
|
|
83
|
+
* Gets the output level of an effect Slot in the interval. The default is
|
|
84
|
+
* 1.0f.
|
|
85
|
+
*
|
|
86
|
+
* @param efs the effect slot to get the gain of
|
|
87
|
+
* @param pgain the receiver of the gain
|
|
88
|
+
*/
|
|
89
|
+
seal_err_t seal_get_efs_gain(seal_efs_t*, float* /*pgain*/);
|
|
90
|
+
|
|
91
|
+
/*
|
|
92
|
+
* Determines if the effect is automatically adjusted. The default is true
|
|
93
|
+
* (nonzero).
|
|
94
|
+
*
|
|
95
|
+
* @param efs the effect slot to determine
|
|
96
|
+
* @param pauto the receiver of the auto adjust flag
|
|
97
|
+
*/
|
|
98
|
+
seal_err_t seal_is_efs_auto(seal_efs_t*, char* /*pauto*/);
|
|
99
|
+
|
|
100
|
+
/*
|
|
101
|
+
*****************************************************************************
|
|
102
|
+
* Below are **implementation details**.
|
|
103
|
+
*****************************************************************************
|
|
104
|
+
*/
|
|
105
|
+
|
|
106
|
+
struct seal_efs_t
|
|
107
|
+
{
|
|
108
|
+
unsigned int id;
|
|
109
|
+
void* effect;
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
#endif /* _SEAL_EFS_H_ */
|
data/include/seal/err.h
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* err.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
|
+
* err.h defines Seal errors and provides subroutines for clearing and
|
|
7
|
+
* retriving errors. Seal functions will set a thread-local error flag when
|
|
8
|
+
* error strikes, so if the last Seal function call returns 0, the exact error
|
|
9
|
+
* and detailed error message can be retrieved using functions in this module.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
#ifndef _SEAL_ERR_H_
|
|
13
|
+
#define _SEAL_ERR_H_
|
|
14
|
+
|
|
15
|
+
enum seal_err_t
|
|
16
|
+
{
|
|
17
|
+
SEAL_OK,
|
|
18
|
+
|
|
19
|
+
SEAL_BAD_OBJ,
|
|
20
|
+
SEAL_BAD_ENUM,
|
|
21
|
+
SEAL_BAD_VAL,
|
|
22
|
+
SEAL_BAD_OP,
|
|
23
|
+
|
|
24
|
+
SEAL_CANNOT_OPEN_DEVICE,
|
|
25
|
+
SEAL_NO_EFX,
|
|
26
|
+
SEAL_NO_EXT_FUNC,
|
|
27
|
+
SEAL_BAD_DEVICE,
|
|
28
|
+
SEAL_CANNOT_CREATE_CONTEXT,
|
|
29
|
+
|
|
30
|
+
SEAL_STREAM_UNOPENED,
|
|
31
|
+
SEAL_MIXING_STREAM_FMT,
|
|
32
|
+
|
|
33
|
+
SEAL_MIXING_SRC_TYPE,
|
|
34
|
+
|
|
35
|
+
SEAL_CANNOT_OPEN_FILE,
|
|
36
|
+
SEAL_BAD_AUDIO,
|
|
37
|
+
|
|
38
|
+
SEAL_CANNOT_ALLOC_MEM,
|
|
39
|
+
|
|
40
|
+
SEAL_BAD_PRESET,
|
|
41
|
+
|
|
42
|
+
SEAL_BAD_WAV_SUBTYPE,
|
|
43
|
+
SEAL_BAD_WAV_CHUNK,
|
|
44
|
+
SEAL_BAD_WAV_CHUNK_SIZE,
|
|
45
|
+
SEAL_ABSENT_WAV_CHUNK,
|
|
46
|
+
SEAL_BAD_WAV_BPS,
|
|
47
|
+
SEAL_BAD_WAV_NCHANNELS,
|
|
48
|
+
FILE_BAD_WAV_FREQ,
|
|
49
|
+
SEAL_CANNOT_REWIND_WAV,
|
|
50
|
+
|
|
51
|
+
SEAL_CANNOT_OPEN_OV,
|
|
52
|
+
SEAL_CANNOT_GET_OV_INFO,
|
|
53
|
+
SEAL_CANNOT_READ_OV,
|
|
54
|
+
SEAL_CANNOT_REWIND_OV,
|
|
55
|
+
SEAL_CANNOT_CLOSE_OV,
|
|
56
|
+
|
|
57
|
+
SEAL_CANNOT_INIT_MPG,
|
|
58
|
+
SEAL_CANNOT_GET_MPG_INFO,
|
|
59
|
+
SEAL_CANNOT_READ_MPG,
|
|
60
|
+
SEAL_CANNOT_REWIND_MPG,
|
|
61
|
+
SEAL_CANNOT_CLOSE_MPG,
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
typedef enum seal_err_t seal_err_t;
|
|
65
|
+
|
|
66
|
+
#ifdef __cplusplus
|
|
67
|
+
extern "C" {
|
|
68
|
+
#endif
|
|
69
|
+
|
|
70
|
+
/*
|
|
71
|
+
* Gets a Seal error message.
|
|
72
|
+
*
|
|
73
|
+
* @param err the error to get the message associated with
|
|
74
|
+
* @return the error message if there is any or otherwise 0
|
|
75
|
+
*/
|
|
76
|
+
const char* seal_get_err_msg(seal_err_t);
|
|
77
|
+
|
|
78
|
+
#ifdef __cplusplus
|
|
79
|
+
}
|
|
80
|
+
#endif
|
|
81
|
+
|
|
82
|
+
/*
|
|
83
|
+
*****************************************************************************
|
|
84
|
+
* Below are **implementation details**.
|
|
85
|
+
*****************************************************************************
|
|
86
|
+
*/
|
|
87
|
+
|
|
88
|
+
/*
|
|
89
|
+
* @return the OpenAL error as a Seal error
|
|
90
|
+
*/
|
|
91
|
+
seal_err_t _seal_get_openal_err(void);
|
|
92
|
+
|
|
93
|
+
#endif /* _SEAL_ERR_H_ */
|
data/include/seal/fmt.h
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* fmt.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
|
+
* fmt.h defines all the supported audio file format and provides utilities
|
|
7
|
+
* to deal with them.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
#ifndef _SEAL_FMT_H_
|
|
11
|
+
#define _SEAL_FMT_H_
|
|
12
|
+
|
|
13
|
+
#include "err.h"
|
|
14
|
+
|
|
15
|
+
enum seal_fmt_t
|
|
16
|
+
{
|
|
17
|
+
SEAL_UNKNOWN_FMT,
|
|
18
|
+
SEAL_WAV_FMT,
|
|
19
|
+
SEAL_OV_FMT,
|
|
20
|
+
SEAL_MPG_FMT
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
/* Audio file formats. */
|
|
24
|
+
typedef enum seal_fmt_t seal_fmt_t;
|
|
25
|
+
|
|
26
|
+
#ifdef __cplusplus
|
|
27
|
+
extern "C" {
|
|
28
|
+
#endif
|
|
29
|
+
|
|
30
|
+
/*
|
|
31
|
+
* Tries to recognize an audio file's format by peeking its header. Use of
|
|
32
|
+
* this function is by no mean an accurate way to determine the exact encoding
|
|
33
|
+
* of the audio file; it only considers the format directly supported by Seal
|
|
34
|
+
* as if there are only these types of format in the world. Assumes `audio' is
|
|
35
|
+
* at the beginning.
|
|
36
|
+
*
|
|
37
|
+
* @param filename the filename of the audio
|
|
38
|
+
* @param pfmt the receiver of the format if recognized or otherwise
|
|
39
|
+
* `SEAL_UNKNOWN_FMT'
|
|
40
|
+
*/
|
|
41
|
+
seal_err_t seal_recognize_fmt(const char* /*filename*/, seal_fmt_t* /*pfmt*/);
|
|
42
|
+
|
|
43
|
+
/*
|
|
44
|
+
* Ensures an audio format is known.
|
|
45
|
+
*
|
|
46
|
+
* @param filename the filename of the audio to check format of
|
|
47
|
+
* @param pfmt if `*pfmt' is not `SEAL_UNKNOWN_FMT' then do nothing;
|
|
48
|
+
* otherwise the file format is checked and `pfmt' receives
|
|
49
|
+
* the known format
|
|
50
|
+
*/
|
|
51
|
+
seal_err_t seal_ensure_fmt_known(const char* /*filename*/,
|
|
52
|
+
seal_fmt_t* /*pfmt*/);
|
|
53
|
+
|
|
54
|
+
#ifdef __cplusplus
|
|
55
|
+
}
|
|
56
|
+
#endif
|
|
57
|
+
|
|
58
|
+
#endif /* _SEAL_FMT_H_ */
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* listener.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
|
+
* listener.h wraps up the listener singleton object, which is the abstract
|
|
7
|
+
* representation of the sole listener who hears the sound.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
#ifndef _SEAL_LISTENER_H_
|
|
11
|
+
#define _SEAL_LISTENER_H_
|
|
12
|
+
|
|
13
|
+
#include "err.h"
|
|
14
|
+
|
|
15
|
+
#ifdef __cplusplus
|
|
16
|
+
extern "C" {
|
|
17
|
+
#endif
|
|
18
|
+
|
|
19
|
+
/*
|
|
20
|
+
* Sets the master scalar amplitude multiplier of the listener which applies
|
|
21
|
+
* to all the sources. 1.0f means that the sound is unattenuated; 0.5f means
|
|
22
|
+
* an attenuation of 6 dB; 0.0f means silence.
|
|
23
|
+
*
|
|
24
|
+
* @param gain the scalar amplitude multiplier in the interval [0.0f, +inf.)
|
|
25
|
+
*/
|
|
26
|
+
seal_err_t seal_set_listener_gain(float /*gain*/);
|
|
27
|
+
|
|
28
|
+
/*
|
|
29
|
+
* Sets the position of the listener in a right-handed Cartesian coordinate
|
|
30
|
+
* system. Use of NaN and infinity is undefined.
|
|
31
|
+
*
|
|
32
|
+
* @param x the x position to set
|
|
33
|
+
* @param y the y position to set
|
|
34
|
+
* @param z the z position to set
|
|
35
|
+
*/
|
|
36
|
+
seal_err_t seal_set_listener_pos(float /*x*/, float /*y*/, float /*z*/);
|
|
37
|
+
|
|
38
|
+
/*
|
|
39
|
+
* Sets the velocity of the listener in a right-handed Cartesian coordinate
|
|
40
|
+
* system. The velocity of the listener does not affect its position but is a
|
|
41
|
+
* factor used during the Doppler effect emulation.
|
|
42
|
+
*
|
|
43
|
+
* @param x the x velocity to set
|
|
44
|
+
* @param y the y velocity to set
|
|
45
|
+
* @param z the z velocity to set
|
|
46
|
+
*/
|
|
47
|
+
seal_err_t seal_set_listener_vel(float /*x*/, float /*y*/, float /*z*/);
|
|
48
|
+
|
|
49
|
+
/*
|
|
50
|
+
* Sets the orientation of the listener.
|
|
51
|
+
*
|
|
52
|
+
* @param orien a pair of 3-tuple consisting of an 'at' vector and an 'up'
|
|
53
|
+
* vector, where the 'at' vector represents the 'forward'
|
|
54
|
+
* direction of the listener and the 'up' vector represents the
|
|
55
|
+
* 'up' direction for the listener. These two vectors must be
|
|
56
|
+
* linearly independent, must not be NaN and must not be
|
|
57
|
+
* normalized. Otherwise, the operation is undefined
|
|
58
|
+
*/
|
|
59
|
+
seal_err_t seal_set_listener_orien(float* /*orien*/);
|
|
60
|
+
|
|
61
|
+
/*
|
|
62
|
+
* Gets the gain of the listener. The default is 1.0f.
|
|
63
|
+
*
|
|
64
|
+
* @see seal_set_listener_gain
|
|
65
|
+
* @param pgain the receiver of the gain
|
|
66
|
+
*/
|
|
67
|
+
seal_err_t seal_get_listener_gain(float* /*pgain*/);
|
|
68
|
+
|
|
69
|
+
/*
|
|
70
|
+
* Gets the position of the listener. The default is ( 0.0f, 0.0f, 0.0f ).
|
|
71
|
+
*
|
|
72
|
+
* @see seal_set_listener_pos
|
|
73
|
+
* @param px the receiver of the x position
|
|
74
|
+
* @param py the receiver of the y position
|
|
75
|
+
* @param pz the receiver of the z position
|
|
76
|
+
*/
|
|
77
|
+
seal_err_t seal_get_listener_pos(float* /*px*/, float* /*py*/, float* /*pz*/);
|
|
78
|
+
|
|
79
|
+
/*
|
|
80
|
+
* Gets the velocity of the listener. The default is ( 0.0f, 0.0f, 0.0f ).
|
|
81
|
+
*
|
|
82
|
+
* @see seal_set_listener_vel
|
|
83
|
+
* @param px the receiver of the x velocity
|
|
84
|
+
* @param py the receiver of the y velocity
|
|
85
|
+
* @param pz the receiver of the z velocity
|
|
86
|
+
*/
|
|
87
|
+
seal_err_t seal_get_listener_vel(float* /*px*/, float* /*py*/, float* /*pz*/);
|
|
88
|
+
|
|
89
|
+
/*
|
|
90
|
+
* Gets the orientation of the listener. The default is
|
|
91
|
+
* ( 0.0f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f ).
|
|
92
|
+
*
|
|
93
|
+
* @see seal_set_listener_orien
|
|
94
|
+
* @param orien the array of a pair of 3-tuple that receives the 'at' vector
|
|
95
|
+
* and the 'up' vector
|
|
96
|
+
*/
|
|
97
|
+
seal_err_t seal_get_listener_orien(float* /*orien*/);
|
|
98
|
+
|
|
99
|
+
#ifdef __cplusplus
|
|
100
|
+
}
|
|
101
|
+
#endif
|
|
102
|
+
|
|
103
|
+
#endif /* _SEAL_LISTENER_H_ */
|