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.
Files changed (421) hide show
  1. data/.yardopts +1 -0
  2. data/LICENSE +13 -0
  3. data/README.md +265 -0
  4. data/ext/seal/extconf.rb +45 -0
  5. data/include/al/al.h +724 -0
  6. data/include/al/alc.h +277 -0
  7. data/include/al/efx-presets.h +402 -0
  8. data/include/al/efx.h +758 -0
  9. data/include/mpg123/mpg123.h +1034 -0
  10. data/include/ogg/config_types.h +25 -0
  11. data/include/ogg/ogg.h +210 -0
  12. data/include/ogg/os_types.h +147 -0
  13. data/include/seal.h +23 -0
  14. data/include/seal/buf.h +143 -0
  15. data/include/seal/core.h +95 -0
  16. data/include/seal/efs.h +112 -0
  17. data/include/seal/err.h +93 -0
  18. data/include/seal/fmt.h +58 -0
  19. data/include/seal/listener.h +103 -0
  20. data/include/seal/raw.h +86 -0
  21. data/include/seal/rvb.h +520 -0
  22. data/include/seal/src.h +413 -0
  23. data/include/seal/stream.h +81 -0
  24. data/include/vorbis/codec.h +243 -0
  25. data/include/vorbis/vorbisfile.h +206 -0
  26. data/mpg123/AUTHORS +150 -0
  27. data/mpg123/COPYING +773 -0
  28. data/mpg123/ChangeLog +3 -0
  29. data/mpg123/INSTALL +111 -0
  30. data/mpg123/Makefile.am +99 -0
  31. data/mpg123/Makefile.in +1043 -0
  32. data/mpg123/NEWS +1200 -0
  33. data/mpg123/NEWS.libmpg123 +133 -0
  34. data/mpg123/README +203 -0
  35. data/mpg123/TODO +38 -0
  36. data/mpg123/aclocal.m4 +1168 -0
  37. data/mpg123/build/config.guess +1530 -0
  38. data/mpg123/build/config.sub +1782 -0
  39. data/mpg123/build/depcomp +707 -0
  40. data/mpg123/build/install-sh +527 -0
  41. data/mpg123/build/ltmain.sh +9655 -0
  42. data/mpg123/build/missing +330 -0
  43. data/mpg123/configure +20267 -0
  44. data/mpg123/configure.ac +2178 -0
  45. data/mpg123/doc/ACCURACY +2 -0
  46. data/mpg123/doc/BENCHMARKING +110 -0
  47. data/mpg123/doc/BUGS +3 -0
  48. data/mpg123/doc/CONTACT +17 -0
  49. data/mpg123/doc/LICENSE +22 -0
  50. data/mpg123/doc/Makefile.am +32 -0
  51. data/mpg123/doc/Makefile.in +490 -0
  52. data/mpg123/doc/PATENTS +39 -0
  53. data/mpg123/doc/README.3DNOW +56 -0
  54. data/mpg123/doc/README.gain +171 -0
  55. data/mpg123/doc/README.remote +218 -0
  56. data/mpg123/doc/ROAD_TO_LGPL +270 -0
  57. data/mpg123/doc/THANKS +13 -0
  58. data/mpg123/doc/TODO +63 -0
  59. data/mpg123/doc/doxy_examples.c +21 -0
  60. data/mpg123/doc/doxygen.conf +41 -0
  61. data/mpg123/doc/doxyhead.xhtml +12 -0
  62. data/mpg123/doc/examples/dump_seekindex.c +41 -0
  63. data/mpg123/doc/examples/extract_frames.c +92 -0
  64. data/mpg123/doc/examples/feedseek.c +238 -0
  65. data/mpg123/doc/examples/id3dump.c +178 -0
  66. data/mpg123/doc/examples/mpg123_to_wav.c +118 -0
  67. data/mpg123/doc/examples/mpglib.c +92 -0
  68. data/mpg123/doc/examples/scan.c +47 -0
  69. data/mpg123/doc/libmpg123_speed.txt +84 -0
  70. data/mpg123/equalize.dat +37 -0
  71. data/mpg123/libmpg123.pc.in +11 -0
  72. data/mpg123/m4/addrconfig.m4 +34 -0
  73. data/mpg123/m4/libtool.m4 +7982 -0
  74. data/mpg123/m4/ltoptions.m4 +384 -0
  75. data/mpg123/m4/ltsugar.m4 +123 -0
  76. data/mpg123/m4/ltversion.m4 +23 -0
  77. data/mpg123/m4/lt~obsolete.m4 +98 -0
  78. data/mpg123/makedll.sh +19 -0
  79. data/mpg123/man1/mpg123.1 +512 -0
  80. data/mpg123/mpg123.spec +68 -0
  81. data/mpg123/mpg123.spec.in +68 -0
  82. data/mpg123/ports/MSVC++/2005/libmpg123/libmpg123.vcproj +741 -0
  83. data/mpg123/ports/MSVC++/2008/dump_seekindex/dump_seekindex.vcproj +194 -0
  84. data/mpg123/ports/MSVC++/2008/feedseek/feedseek.vcproj +195 -0
  85. data/mpg123/ports/MSVC++/2008/libmpg123/libmpg123.vcproj +1357 -0
  86. data/mpg123/ports/MSVC++/2008/mpg123.sln +44 -0
  87. data/mpg123/ports/MSVC++/2008/mpglib/mpglib.vcproj +191 -0
  88. data/mpg123/ports/MSVC++/2008/scan/scan.vcproj +195 -0
  89. data/mpg123/ports/MSVC++/2008clr/2008clr.sln +81 -0
  90. data/mpg123/ports/MSVC++/2008clr/examples/ReplaceReaderclr/Program.cs +435 -0
  91. data/mpg123/ports/MSVC++/2008clr/examples/ReplaceReaderclr/Properties/AssemblyInfo.cs +36 -0
  92. data/mpg123/ports/MSVC++/2008clr/examples/ReplaceReaderclr/ReplaceReaderclr.csproj +72 -0
  93. data/mpg123/ports/MSVC++/2008clr/examples/feedseekclr/Program.cs +331 -0
  94. data/mpg123/ports/MSVC++/2008clr/examples/feedseekclr/Properties/AssemblyInfo.cs +36 -0
  95. data/mpg123/ports/MSVC++/2008clr/examples/feedseekclr/feedseekclr.csproj +71 -0
  96. data/mpg123/ports/MSVC++/2008clr/examples/scanclr/Program.cs +79 -0
  97. data/mpg123/ports/MSVC++/2008clr/examples/scanclr/Properties/AssemblyInfo.cs +36 -0
  98. data/mpg123/ports/MSVC++/2008clr/examples/scanclr/scanclr.csproj +70 -0
  99. data/mpg123/ports/MSVC++/2008clr/mpg123clr/AssemblyInfo.cpp +76 -0
  100. data/mpg123/ports/MSVC++/2008clr/mpg123clr/ReadMe.txt +165 -0
  101. data/mpg123/ports/MSVC++/2008clr/mpg123clr/advanced.cpp +91 -0
  102. data/mpg123/ports/MSVC++/2008clr/mpg123clr/advanced.h +130 -0
  103. data/mpg123/ports/MSVC++/2008clr/mpg123clr/dllmain.cpp +19 -0
  104. data/mpg123/ports/MSVC++/2008clr/mpg123clr/enum.h +218 -0
  105. data/mpg123/ports/MSVC++/2008clr/mpg123clr/error.cpp +48 -0
  106. data/mpg123/ports/MSVC++/2008clr/mpg123clr/error.h +134 -0
  107. data/mpg123/ports/MSVC++/2008clr/mpg123clr/id3v1.cpp +92 -0
  108. data/mpg123/ports/MSVC++/2008clr/mpg123clr/id3v1.h +132 -0
  109. data/mpg123/ports/MSVC++/2008clr/mpg123clr/id3v2.cpp +138 -0
  110. data/mpg123/ports/MSVC++/2008clr/mpg123clr/id3v2.h +152 -0
  111. data/mpg123/ports/MSVC++/2008clr/mpg123clr/mpg123clr.cpp +896 -0
  112. data/mpg123/ports/MSVC++/2008clr/mpg123clr/mpg123clr.h +953 -0
  113. data/mpg123/ports/MSVC++/2008clr/mpg123clr/mpg123clr.rc +102 -0
  114. data/mpg123/ports/MSVC++/2008clr/mpg123clr/mpg123clr.vcproj +328 -0
  115. data/mpg123/ports/MSVC++/2008clr/mpg123clr/resource.h +14 -0
  116. data/mpg123/ports/MSVC++/2008clr/mpg123clr/stdafx.cpp +8 -0
  117. data/mpg123/ports/MSVC++/2008clr/mpg123clr/stdafx.h +38 -0
  118. data/mpg123/ports/MSVC++/2008clr/mpg123clr/string.cpp +166 -0
  119. data/mpg123/ports/MSVC++/2008clr/mpg123clr/string.h +265 -0
  120. data/mpg123/ports/MSVC++/2008clr/mpg123clr/targetver.h +24 -0
  121. data/mpg123/ports/MSVC++/2008clr/mpg123clr/text.cpp +67 -0
  122. data/mpg123/ports/MSVC++/2008clr/mpg123clr/text.h +111 -0
  123. data/mpg123/ports/MSVC++/2010/dump_seekindex/dump_seekindex.vcxproj +90 -0
  124. data/mpg123/ports/MSVC++/2010/dump_seekindex/dump_seekindex.vcxproj.filters +6 -0
  125. data/mpg123/ports/MSVC++/2010/feedseek/feedseek.vcxproj +95 -0
  126. data/mpg123/ports/MSVC++/2010/feedseek/feedseek.vcxproj.filters +6 -0
  127. data/mpg123/ports/MSVC++/2010/libmpg123/libmpg123.vcxproj +960 -0
  128. data/mpg123/ports/MSVC++/2010/libmpg123/libmpg123.vcxproj.user +3 -0
  129. data/mpg123/ports/MSVC++/2010/libmpg123/yasm.exe +0 -0
  130. data/mpg123/ports/MSVC++/2010/mpg123.sln +38 -0
  131. data/mpg123/ports/MSVC++/2010/scan/scan.vcxproj +93 -0
  132. data/mpg123/ports/MSVC++/2010/scan/scan.vcxproj.filters +6 -0
  133. data/mpg123/ports/MSVC++/CMP3Stream/INCLUDE/CORE/CORE_FileIn.H +15 -0
  134. data/mpg123/ports/MSVC++/CMP3Stream/INCLUDE/CORE/SourceFilter_MP3.H +139 -0
  135. data/mpg123/ports/MSVC++/CMP3Stream/INCLUDE/IIEP_Def.H +206 -0
  136. data/mpg123/ports/MSVC++/CMP3Stream/INCLUDE/IIEP_FileIn.H +167 -0
  137. data/mpg123/ports/MSVC++/CMP3Stream/README +4 -0
  138. data/mpg123/ports/MSVC++/CMP3Stream/SOURCE/CORE_FileIn.CPP +462 -0
  139. data/mpg123/ports/MSVC++/CMP3Stream/SOURCE/CORE_Log.CPP +122 -0
  140. data/mpg123/ports/MSVC++/CMP3Stream/SOURCE/CORE_Mutex.CPP +35 -0
  141. data/mpg123/ports/MSVC++/CMP3Stream/SOURCE/SourceFilter_MP3Stream.CPP +586 -0
  142. data/mpg123/ports/MSVC++/CMP3Stream/libMPG123/PLACE_LIBMPG123_SOURCES_HERE +0 -0
  143. data/mpg123/ports/MSVC++/CMP3Stream/libMPG123/libMPG123.vcproj +245 -0
  144. data/mpg123/ports/MSVC++/config.h +35 -0
  145. data/mpg123/ports/MSVC++/examples/feedseek.c +240 -0
  146. data/mpg123/ports/MSVC++/examples/scan.c +47 -0
  147. data/mpg123/ports/MSVC++/mpg123.h +46 -0
  148. data/mpg123/ports/MSVC++/msvc.c +59 -0
  149. data/mpg123/ports/README +26 -0
  150. data/mpg123/ports/Sony_PSP/Makefile.psp +38 -0
  151. data/mpg123/ports/Sony_PSP/README +11 -0
  152. data/mpg123/ports/Sony_PSP/config.h +368 -0
  153. data/mpg123/ports/Sony_PSP/readers.c.patch +2 -0
  154. data/mpg123/ports/Xcode/config.h +197 -0
  155. data/mpg123/ports/Xcode/mpg123.h +17 -0
  156. data/mpg123/ports/Xcode/mpg123.xcodeproj/project.pbxproj +670 -0
  157. data/mpg123/ports/mpg123_.pas +478 -0
  158. data/mpg123/scripts/benchmark-cpu.pl +56 -0
  159. data/mpg123/scripts/tag_lyrics.py +76 -0
  160. data/mpg123/src/Makefile.am +186 -0
  161. data/mpg123/src/Makefile.in +1097 -0
  162. data/mpg123/src/audio.c +725 -0
  163. data/mpg123/src/audio.h +106 -0
  164. data/mpg123/src/buffer.c +312 -0
  165. data/mpg123/src/buffer.h +45 -0
  166. data/mpg123/src/common.c +240 -0
  167. data/mpg123/src/common.h +29 -0
  168. data/mpg123/src/config.h.in +436 -0
  169. data/mpg123/src/control_generic.c +809 -0
  170. data/mpg123/src/equalizer.c +48 -0
  171. data/mpg123/src/genre.c +271 -0
  172. data/mpg123/src/genre.h +15 -0
  173. data/mpg123/src/getlopt.c +148 -0
  174. data/mpg123/src/getlopt.h +77 -0
  175. data/mpg123/src/httpget.c +700 -0
  176. data/mpg123/src/httpget.h +66 -0
  177. data/mpg123/src/legacy_module.c +74 -0
  178. data/mpg123/src/libmpg123/Makefile.am +141 -0
  179. data/mpg123/src/libmpg123/Makefile.in +919 -0
  180. data/mpg123/src/libmpg123/compat.c +138 -0
  181. data/mpg123/src/libmpg123/compat.h +178 -0
  182. data/mpg123/src/libmpg123/dct36_3dnow.S +505 -0
  183. data/mpg123/src/libmpg123/dct36_3dnowext.S +512 -0
  184. data/mpg123/src/libmpg123/dct64.c +174 -0
  185. data/mpg123/src/libmpg123/dct64_3dnow.S +712 -0
  186. data/mpg123/src/libmpg123/dct64_3dnowext.S +714 -0
  187. data/mpg123/src/libmpg123/dct64_altivec.c +315 -0
  188. data/mpg123/src/libmpg123/dct64_i386.c +336 -0
  189. data/mpg123/src/libmpg123/dct64_i486.c +342 -0
  190. data/mpg123/src/libmpg123/dct64_mmx.S +811 -0
  191. data/mpg123/src/libmpg123/dct64_neon.S +297 -0
  192. data/mpg123/src/libmpg123/dct64_neon_float.S +270 -0
  193. data/mpg123/src/libmpg123/dct64_sse.S +454 -0
  194. data/mpg123/src/libmpg123/dct64_sse_float.S +401 -0
  195. data/mpg123/src/libmpg123/dct64_x86_64.S +464 -0
  196. data/mpg123/src/libmpg123/dct64_x86_64_float.S +426 -0
  197. data/mpg123/src/libmpg123/debug.h +171 -0
  198. data/mpg123/src/libmpg123/decode.h +268 -0
  199. data/mpg123/src/libmpg123/dither.c +119 -0
  200. data/mpg123/src/libmpg123/dither.h +23 -0
  201. data/mpg123/src/libmpg123/equalizer.c +17 -0
  202. data/mpg123/src/libmpg123/equalizer_3dnow.S +70 -0
  203. data/mpg123/src/libmpg123/feature.c +106 -0
  204. data/mpg123/src/libmpg123/format.c +521 -0
  205. data/mpg123/src/libmpg123/frame.c +1046 -0
  206. data/mpg123/src/libmpg123/frame.h +410 -0
  207. data/mpg123/src/libmpg123/gapless.h +119 -0
  208. data/mpg123/src/libmpg123/getbits.h +100 -0
  209. data/mpg123/src/libmpg123/getcpuflags.S +91 -0
  210. data/mpg123/src/libmpg123/getcpuflags.h +47 -0
  211. data/mpg123/src/libmpg123/huffman.h +340 -0
  212. data/mpg123/src/libmpg123/icy.c +32 -0
  213. data/mpg123/src/libmpg123/icy.h +38 -0
  214. data/mpg123/src/libmpg123/icy2utf8.c +438 -0
  215. data/mpg123/src/libmpg123/icy2utf8.h +10 -0
  216. data/mpg123/src/libmpg123/id3.c +999 -0
  217. data/mpg123/src/libmpg123/id3.h +43 -0
  218. data/mpg123/src/libmpg123/index.c +134 -0
  219. data/mpg123/src/libmpg123/index.h +59 -0
  220. data/mpg123/src/libmpg123/intsym.h +256 -0
  221. data/mpg123/src/libmpg123/l12_integer_tables.h +278 -0
  222. data/mpg123/src/libmpg123/l2tables.h +164 -0
  223. data/mpg123/src/libmpg123/l3_integer_tables.h +1002 -0
  224. data/mpg123/src/libmpg123/layer1.c +155 -0
  225. data/mpg123/src/libmpg123/layer2.c +371 -0
  226. data/mpg123/src/libmpg123/layer3.c +2053 -0
  227. data/mpg123/src/libmpg123/lfs_alias.c +252 -0
  228. data/mpg123/src/libmpg123/lfs_wrap.c +751 -0
  229. data/mpg123/src/libmpg123/libmpg123.c +1607 -0
  230. data/mpg123/src/libmpg123/mangle.h +74 -0
  231. data/mpg123/src/libmpg123/mpeghead.h +87 -0
  232. data/mpg123/src/libmpg123/mpg123.h.in +1075 -0
  233. data/mpg123/src/libmpg123/mpg123lib_intern.h +338 -0
  234. data/mpg123/src/libmpg123/ntom.c +148 -0
  235. data/mpg123/src/libmpg123/optimize.c +964 -0
  236. data/mpg123/src/libmpg123/optimize.h +219 -0
  237. data/mpg123/src/libmpg123/parse.c +1179 -0
  238. data/mpg123/src/libmpg123/parse.h +25 -0
  239. data/mpg123/src/libmpg123/reader.h +137 -0
  240. data/mpg123/src/libmpg123/readers.c +1235 -0
  241. data/mpg123/src/libmpg123/sample.h +152 -0
  242. data/mpg123/src/libmpg123/stringbuf.c +163 -0
  243. data/mpg123/src/libmpg123/synth.c +816 -0
  244. data/mpg123/src/libmpg123/synth.h +196 -0
  245. data/mpg123/src/libmpg123/synth_3dnow.S +318 -0
  246. data/mpg123/src/libmpg123/synth_3dnowext.S +6 -0
  247. data/mpg123/src/libmpg123/synth_8bit.c +142 -0
  248. data/mpg123/src/libmpg123/synth_8bit.h +86 -0
  249. data/mpg123/src/libmpg123/synth_altivec.c +1057 -0
  250. data/mpg123/src/libmpg123/synth_arm.S +271 -0
  251. data/mpg123/src/libmpg123/synth_arm_accurate.S +287 -0
  252. data/mpg123/src/libmpg123/synth_i486.c +252 -0
  253. data/mpg123/src/libmpg123/synth_i586.S +336 -0
  254. data/mpg123/src/libmpg123/synth_i586_dither.S +375 -0
  255. data/mpg123/src/libmpg123/synth_mmx.S +125 -0
  256. data/mpg123/src/libmpg123/synth_mono.h +64 -0
  257. data/mpg123/src/libmpg123/synth_neon.S +123 -0
  258. data/mpg123/src/libmpg123/synth_neon_accurate.S +173 -0
  259. data/mpg123/src/libmpg123/synth_neon_float.S +149 -0
  260. data/mpg123/src/libmpg123/synth_neon_s32.S +168 -0
  261. data/mpg123/src/libmpg123/synth_ntom.h +213 -0
  262. data/mpg123/src/libmpg123/synth_real.c +404 -0
  263. data/mpg123/src/libmpg123/synth_s32.c +411 -0
  264. data/mpg123/src/libmpg123/synth_sse.S +6 -0
  265. data/mpg123/src/libmpg123/synth_sse3d.h +246 -0
  266. data/mpg123/src/libmpg123/synth_sse_accurate.S +294 -0
  267. data/mpg123/src/libmpg123/synth_sse_float.S +241 -0
  268. data/mpg123/src/libmpg123/synth_sse_s32.S +306 -0
  269. data/mpg123/src/libmpg123/synth_stereo_neon.S +175 -0
  270. data/mpg123/src/libmpg123/synth_stereo_neon_accurate.S +262 -0
  271. data/mpg123/src/libmpg123/synth_stereo_neon_float.S +220 -0
  272. data/mpg123/src/libmpg123/synth_stereo_neon_s32.S +247 -0
  273. data/mpg123/src/libmpg123/synth_stereo_sse_accurate.S +508 -0
  274. data/mpg123/src/libmpg123/synth_stereo_sse_float.S +416 -0
  275. data/mpg123/src/libmpg123/synth_stereo_sse_s32.S +540 -0
  276. data/mpg123/src/libmpg123/synth_stereo_x86_64.S +335 -0
  277. data/mpg123/src/libmpg123/synth_stereo_x86_64_accurate.S +454 -0
  278. data/mpg123/src/libmpg123/synth_stereo_x86_64_float.S +396 -0
  279. data/mpg123/src/libmpg123/synth_stereo_x86_64_s32.S +473 -0
  280. data/mpg123/src/libmpg123/synth_x86_64.S +244 -0
  281. data/mpg123/src/libmpg123/synth_x86_64_accurate.S +301 -0
  282. data/mpg123/src/libmpg123/synth_x86_64_float.S +259 -0
  283. data/mpg123/src/libmpg123/synth_x86_64_s32.S +312 -0
  284. data/mpg123/src/libmpg123/synths.h +52 -0
  285. data/mpg123/src/libmpg123/tabinit.c +294 -0
  286. data/mpg123/src/libmpg123/tabinit_mmx.S +210 -0
  287. data/mpg123/src/libmpg123/testcpu.c +35 -0
  288. data/mpg123/src/libmpg123/true.h +14 -0
  289. data/mpg123/src/local.c +63 -0
  290. data/mpg123/src/local.h +21 -0
  291. data/mpg123/src/metaprint.c +373 -0
  292. data/mpg123/src/metaprint.h +17 -0
  293. data/mpg123/src/module.c +306 -0
  294. data/mpg123/src/module.h +48 -0
  295. data/mpg123/src/mpg123.c +1405 -0
  296. data/mpg123/src/mpg123app.h +171 -0
  297. data/mpg123/src/output/Makefile.am +213 -0
  298. data/mpg123/src/output/Makefile.in +1238 -0
  299. data/mpg123/src/output/aix.c +300 -0
  300. data/mpg123/src/output/alib.c +209 -0
  301. data/mpg123/src/output/alsa.c +297 -0
  302. data/mpg123/src/output/arts.c +117 -0
  303. data/mpg123/src/output/coreaudio.c +370 -0
  304. data/mpg123/src/output/dummy.c +78 -0
  305. data/mpg123/src/output/esd.c +167 -0
  306. data/mpg123/src/output/hp.c +184 -0
  307. data/mpg123/src/output/jack.c +450 -0
  308. data/mpg123/src/output/mint.c +197 -0
  309. data/mpg123/src/output/nas.c +335 -0
  310. data/mpg123/src/output/openal.c +197 -0
  311. data/mpg123/src/output/os2.c +665 -0
  312. data/mpg123/src/output/oss.c +319 -0
  313. data/mpg123/src/output/portaudio.c +255 -0
  314. data/mpg123/src/output/pulse.c +164 -0
  315. data/mpg123/src/output/sdl.c +206 -0
  316. data/mpg123/src/output/sgi.c +213 -0
  317. data/mpg123/src/output/sndio.c +161 -0
  318. data/mpg123/src/output/sun.c +281 -0
  319. data/mpg123/src/output/win32.c +229 -0
  320. data/mpg123/src/playlist.c +596 -0
  321. data/mpg123/src/playlist.h +52 -0
  322. data/mpg123/src/resolver.c +319 -0
  323. data/mpg123/src/resolver.h +25 -0
  324. data/mpg123/src/sfifo.c +146 -0
  325. data/mpg123/src/sfifo.h +95 -0
  326. data/mpg123/src/streamdump.c +74 -0
  327. data/mpg123/src/streamdump.h +20 -0
  328. data/mpg123/src/term.c +479 -0
  329. data/mpg123/src/term.h +81 -0
  330. data/mpg123/src/tests/noise.c +52 -0
  331. data/mpg123/src/tests/plain_id3.c +109 -0
  332. data/mpg123/src/tests/seek_accuracy.c +261 -0
  333. data/mpg123/src/tests/seek_whence.c +56 -0
  334. data/mpg123/src/tests/testtext.h +34 -0
  335. data/mpg123/src/tests/text.c +80 -0
  336. data/mpg123/src/wav.c +464 -0
  337. data/mpg123/src/wavhead.h +68 -0
  338. data/mpg123/src/win32_net.c +599 -0
  339. data/mpg123/src/win32_support.c +191 -0
  340. data/mpg123/src/win32_support.h +152 -0
  341. data/mpg123/src/xfermem.c +321 -0
  342. data/mpg123/src/xfermem.h +74 -0
  343. data/mpg123/windows-builds.sh +137 -0
  344. data/msvc/lib/OpenAL32.lib +0 -0
  345. data/spec/fixtures/heal.ogg +0 -0
  346. data/spec/fixtures/tone_up.wav +0 -0
  347. data/spec/seal/buffer_spec.rb +37 -0
  348. data/spec/seal/core_spec.rb +29 -0
  349. data/spec/seal/effect_slot_spec.rb +38 -0
  350. data/spec/seal/listener_spec.rb +33 -0
  351. data/spec/seal/reverb_spec.rb +51 -0
  352. data/spec/seal/source_spec.rb +370 -0
  353. data/spec/seal/stream_spec.rb +38 -0
  354. data/spec/spec_helper.rb +45 -0
  355. data/spec/support/attribute_examples.rb +75 -0
  356. data/spec/support/audio_object_with_format.rb +27 -0
  357. data/spec/support/movable_object.rb +22 -0
  358. data/src/libogg/bitwise.c +857 -0
  359. data/src/libogg/framing.c +2093 -0
  360. data/src/libvorbis/backends.h +144 -0
  361. data/src/libvorbis/bitrate.c +253 -0
  362. data/src/libvorbis/bitrate.h +59 -0
  363. data/src/libvorbis/block.c +1046 -0
  364. data/src/libvorbis/codebook.c +484 -0
  365. data/src/libvorbis/codebook.h +119 -0
  366. data/src/libvorbis/codec_internal.h +167 -0
  367. data/src/libvorbis/envelope.c +375 -0
  368. data/src/libvorbis/envelope.h +80 -0
  369. data/src/libvorbis/floor0.c +221 -0
  370. data/src/libvorbis/floor1.c +1100 -0
  371. data/src/libvorbis/highlevel.h +58 -0
  372. data/src/libvorbis/info.c +668 -0
  373. data/src/libvorbis/lookup.c +94 -0
  374. data/src/libvorbis/lookup.h +32 -0
  375. data/src/libvorbis/lookup_data.h +192 -0
  376. data/src/libvorbis/lpc.c +160 -0
  377. data/src/libvorbis/lpc.h +29 -0
  378. data/src/libvorbis/lsp.c +456 -0
  379. data/src/libvorbis/lsp.h +28 -0
  380. data/src/libvorbis/mapping0.c +816 -0
  381. data/src/libvorbis/masking.h +785 -0
  382. data/src/libvorbis/mdct.c +563 -0
  383. data/src/libvorbis/mdct.h +71 -0
  384. data/src/libvorbis/misc.h +57 -0
  385. data/src/libvorbis/os.h +186 -0
  386. data/src/libvorbis/psy.c +1206 -0
  387. data/src/libvorbis/psy.h +154 -0
  388. data/src/libvorbis/registry.c +45 -0
  389. data/src/libvorbis/registry.h +32 -0
  390. data/src/libvorbis/res0.c +889 -0
  391. data/src/libvorbis/scales.h +90 -0
  392. data/src/libvorbis/sharedbook.c +579 -0
  393. data/src/libvorbis/smallft.c +1255 -0
  394. data/src/libvorbis/smallft.h +34 -0
  395. data/src/libvorbis/synthesis.c +184 -0
  396. data/src/libvorbis/vorbisfile.c +2337 -0
  397. data/src/libvorbis/window.c +2135 -0
  398. data/src/libvorbis/window.h +26 -0
  399. data/src/rubyext.c +2329 -0
  400. data/src/seal/buf.c +124 -0
  401. data/src/seal/core.c +283 -0
  402. data/src/seal/efs.c +74 -0
  403. data/src/seal/err.c +118 -0
  404. data/src/seal/fmt.c +86 -0
  405. data/src/seal/listener.c +111 -0
  406. data/src/seal/mpg.c +174 -0
  407. data/src/seal/mpg.h +24 -0
  408. data/src/seal/ov.c +180 -0
  409. data/src/seal/ov.h +22 -0
  410. data/src/seal/raw.c +59 -0
  411. data/src/seal/reader.c +102 -0
  412. data/src/seal/reader.h +59 -0
  413. data/src/seal/rvb.c +368 -0
  414. data/src/seal/src.c +654 -0
  415. data/src/seal/stream.c +109 -0
  416. data/src/seal/threading.c +66 -0
  417. data/src/seal/threading.h +20 -0
  418. data/src/seal/wav.c +297 -0
  419. data/src/seal/wav.h +23 -0
  420. data/src/win32api.rb +29 -0
  421. metadata +563 -0
@@ -0,0 +1,435 @@
1
+ /*
2
+ replacereaderclr: test program for mpg123clr, showing how to use ReplaceReader in a CLR enviro.
3
+ copyright 2009 by the mpg123 project - free software under the terms of the LGPL 2.1
4
+ see COPYING and AUTHORS files in distribution or http://mpg123.org
5
+
6
+ initially written by Malcolm Boczek
7
+
8
+ not to be used as an example of good coding practices, note the total absence of error handling!!!
9
+ */
10
+
11
+ /*
12
+ 1.9.0.0 24-Sep-09 Function names harmonized with libmpg123 (mb)
13
+ 1.12.0.0 14-Apr-10 Added ReplaceReaderHandle sample code (mb)
14
+ */
15
+
16
+ using System;
17
+ using System.Collections.Generic;
18
+ using System.Linq;
19
+ using System.Text;
20
+
21
+ using System.IO; // for ReplaceReaderHandle example
22
+ using System.Runtime.InteropServices; // for ReplaceReaderHandle example
23
+
24
+ using mpg123clr;
25
+
26
+ namespace ReplaceReaderclr
27
+ {
28
+ class Program
29
+ {
30
+ private unsafe static int MyReadFunc(int a, void* b, uint c)
31
+ {
32
+ // need to call posix read function here...
33
+
34
+ // PosixRead is an example, substitute your replacement function here.
35
+ int ret = mpg123.PosixRead(a, b, c);
36
+
37
+ return ret;
38
+ }
39
+
40
+ private static int MySeekFunc(int a, int b, int c)
41
+ {
42
+ // NOTE: Largefile conflict with use of "int" position values.
43
+ // Convert to long if off_t is defined as long long
44
+
45
+ // need to call posix lseek function here...
46
+
47
+ // PosixSeek is an example, substitute your replacement function here.
48
+ int ret = mpg123.PosixSeek(a, b, c);
49
+
50
+ return ret;
51
+ }
52
+
53
+ private unsafe static int MyHandleReadFunc(void* a, void* b, uint c)
54
+ {
55
+ GCHandle gch = GCHandle.FromIntPtr((IntPtr)a);
56
+ BinaryReader br = (BinaryReader)gch.Target;
57
+
58
+ byte[] buf = br.ReadBytes((int)c);
59
+
60
+ // NOTE: no discernible performance difference between Marshal.Copy and ptr++ loop
61
+ Marshal.Copy(buf, 0, (IntPtr)b, buf.Length);
62
+
63
+ // byte* ptr = (byte*)b;
64
+ // for (int i = 0, l = buf.Length; i < l; i++)
65
+ // *(ptr++) = buf[i];
66
+
67
+ return buf.Length;
68
+ }
69
+
70
+ private unsafe static int MyHandleSeekFunc(void* a, int b, int c)
71
+ {
72
+ // NOTE: Largefile conflict with use of "int" position values.
73
+ // Convert to long if off_t is defined as long long
74
+
75
+ GCHandle gch = GCHandle.FromIntPtr((IntPtr)a);
76
+ BinaryReader br = (BinaryReader)gch.Target;
77
+
78
+ return (int)br.BaseStream.Seek(b, (SeekOrigin)c);
79
+ }
80
+
81
+ private unsafe static void MyHandleCleanFunc(void* a)
82
+ {
83
+ GCHandle gch = GCHandle.FromIntPtr((IntPtr)a);
84
+ BinaryReader br = (BinaryReader)gch.Target;
85
+
86
+ br.Close();
87
+ }
88
+
89
+ static unsafe void Main(string[] args)
90
+ {
91
+ if (args.Length == 0)
92
+ {
93
+ Console.WriteLine("I need a file to work on:\n\nPress any key to exit.");
94
+ while (Console.Read() == 0) ;
95
+ return;
96
+ }
97
+ mpg123clr.mpg.ErrorCode err;
98
+
99
+ string filename = args[0];
100
+
101
+ err = mpg123.mpg123_init();
102
+ Console.WriteLine("Init:");
103
+
104
+ RunReplaceReaderTest(filename);
105
+ RunReplaceReaderHandleTest(filename);
106
+ RunFrameByFrameTest(filename);
107
+
108
+ Console.WriteLine("\nPress any key to exit:");
109
+ while (Console.Read() == 0) ;
110
+
111
+ mpg123.mpg123_exit();
112
+ }
113
+
114
+ static unsafe void RunReplaceReaderTest(string filename)
115
+ {
116
+ mpg123clr.mpg.ErrorCode err;
117
+
118
+ mpg123 mp = new mpg123();
119
+ err = mp.mpg123_new();
120
+
121
+ // ReplaceReader example
122
+ mpg123clr.mpg123.ReadDelegate rdel = MyReadFunc;
123
+ mpg123clr.mpg123.SeekDelegate sdel = MySeekFunc;
124
+ err = mp.mpg123_replace_reader(rdel, sdel);
125
+
126
+ //err = mp.mpg123_open(args[0]);
127
+ err = mp.mpg123_open(filename);
128
+
129
+ if (err != mpg123clr.mpg.ErrorCode.ok)
130
+ {
131
+ Console.WriteLine("Error: " + mp.mpg123_strerror());
132
+ }
133
+ else
134
+ {
135
+ Console.WriteLine("Open:");
136
+
137
+ // Show available decoders
138
+ string[] Decoders = mp.mpg123_decoders();
139
+
140
+ if (Decoders.Length > 0)
141
+ {
142
+ Console.WriteLine("\nDecoders:");
143
+ foreach (string str in Decoders) Console.WriteLine(str);
144
+ }
145
+
146
+ // Show supported decoders
147
+ string[] supDecoders = mp.mpg123_supported_decoders();
148
+
149
+ if (supDecoders.Length > 0)
150
+ {
151
+ Console.WriteLine("\nSupported Decoders:");
152
+ foreach (string str in supDecoders) Console.WriteLine(str);
153
+ }
154
+
155
+ // Show actual decoder
156
+ Console.WriteLine("\nDecoder: " + mp.mpg123_current_decoder());
157
+
158
+ // Show estimated file length
159
+ Console.WriteLine("\nLength Estimate: " + mp.mpg123_length().ToString());
160
+
161
+ // Scan - gets actual details including ID3v2 and Frame offsets
162
+ err = mp.mpg123_scan();
163
+
164
+ // Show actual file length
165
+ if (err == mpg123clr.mpg.ErrorCode.ok) Console.WriteLine("Length Actual : " + mp.mpg123_length().ToString());
166
+
167
+ // Get ID3 data
168
+ mpg123clr.id3.mpg123id3v1 iv1;
169
+ mpg123clr.id3.mpg123id3v2 iv2;
170
+ err = mp.mpg123_id3(out iv1, out iv2);
171
+
172
+ // Show ID3v2 data
173
+ Console.WriteLine("\nTitle : " + iv2.title);
174
+ Console.WriteLine("Artist : " + iv2.artist);
175
+ Console.WriteLine("Album : " + iv2.album);
176
+ Console.WriteLine("Comment: " + iv2.comment);
177
+ Console.WriteLine("Year : " + iv2.year);
178
+
179
+ // Demo seek (back to start of file - note: scan should already have done this)
180
+ long pos = mp.mpg123_seek(0, System.IO.SeekOrigin.Begin);
181
+
182
+ long[] frameindex;
183
+ long step;
184
+ err = mp.mpg123_index(out frameindex, out step);
185
+
186
+ if (err == mpg123clr.mpg.ErrorCode.ok)
187
+ {
188
+ Console.WriteLine("\nFrameIndex:");
189
+ foreach (long idx in frameindex)
190
+ {
191
+ // Console.WriteLine(idx.ToString());
192
+ }
193
+ }
194
+
195
+ int num;
196
+ uint cnt;
197
+ IntPtr audio;
198
+
199
+ // Walk the file - effectively decode the data without using it...
200
+ Console.WriteLine("\nWalking : " + iv2.title);
201
+ DateTime dte, dts = DateTime.Now;
202
+
203
+ while (err == mpg123clr.mpg.ErrorCode.ok || err == mpg123clr.mpg.ErrorCode.new_format)
204
+ {
205
+ err = mp.mpg123_decode_frame(out num, out audio, out cnt);
206
+
207
+ // do something with "audio" here....
208
+ }
209
+
210
+ dte = DateTime.Now;
211
+
212
+ TimeSpan ts = dte - dts;
213
+ Console.WriteLine("Duration: " + ts.ToString());
214
+
215
+ mp.mpg123_close();
216
+ }
217
+
218
+ mp.Dispose();
219
+ }
220
+
221
+ static unsafe void RunReplaceReaderHandleTest(string filename)
222
+ {
223
+ mpg123clr.mpg.ErrorCode err;
224
+
225
+ mpg123 mp = new mpg123();
226
+ err = mp.mpg123_new();
227
+
228
+ // ReplaceReader example
229
+ mpg123clr.mpg123.ReadHandleDelegate rdel = MyHandleReadFunc;
230
+ mpg123clr.mpg123.SeekHandleDelegate sdel = MyHandleSeekFunc;
231
+ mpg123clr.mpg123.CleanupHandleDelegate cdel = MyHandleCleanFunc;
232
+ err = mp.mpg123_replace_reader_handle(rdel, sdel, cdel);
233
+
234
+ //err = mp.mpg123_open(args[0]);
235
+ BinaryReader br = new BinaryReader(File.OpenRead(filename));
236
+
237
+ err = mp.mpg123_open_handle(br);
238
+
239
+ if (err != mpg123clr.mpg.ErrorCode.ok)
240
+ {
241
+ Console.WriteLine("Error: " + mp.mpg123_strerror());
242
+ }
243
+ else
244
+ {
245
+ Console.WriteLine("Open:");
246
+
247
+ // Show available decoders
248
+ string[] Decoders = mp.mpg123_decoders();
249
+
250
+ if (Decoders.Length > 0)
251
+ {
252
+ Console.WriteLine("\nDecoders:");
253
+ foreach (string str in Decoders) Console.WriteLine(str);
254
+ }
255
+
256
+ // Show supported decoders
257
+ string[] supDecoders = mp.mpg123_supported_decoders();
258
+
259
+ if (supDecoders.Length > 0)
260
+ {
261
+ Console.WriteLine("\nSupported Decoders:");
262
+ foreach (string str in supDecoders) Console.WriteLine(str);
263
+ }
264
+
265
+ // Show actual decoder
266
+ Console.WriteLine("\nDecoder: " + mp.mpg123_current_decoder());
267
+
268
+ // Show estimated file length
269
+ Console.WriteLine("\nLength Estimate: " + mp.mpg123_length().ToString());
270
+
271
+ // Scan - gets actual details including ID3v2 and Frame offsets
272
+ err = mp.mpg123_scan();
273
+
274
+ // Show actual file length
275
+ if (err == mpg123clr.mpg.ErrorCode.ok) Console.WriteLine("Length Actual : " + mp.mpg123_length().ToString());
276
+
277
+ // Get ID3 data
278
+ mpg123clr.id3.mpg123id3v1 iv1;
279
+ mpg123clr.id3.mpg123id3v2 iv2;
280
+ err = mp.mpg123_id3(out iv1, out iv2);
281
+
282
+ // Show ID3v2 data
283
+ Console.WriteLine("\nTitle : " + iv2.title);
284
+ Console.WriteLine("Artist : " + iv2.artist);
285
+ Console.WriteLine("Album : " + iv2.album);
286
+ Console.WriteLine("Comment: " + iv2.comment);
287
+ Console.WriteLine("Year : " + iv2.year);
288
+
289
+ // Demo seek (back to start of file - note: scan should already have done this)
290
+ long pos = mp.mpg123_seek(0, System.IO.SeekOrigin.Begin);
291
+
292
+ long[] frameindex;
293
+ long step;
294
+ err = mp.mpg123_index(out frameindex, out step);
295
+
296
+ if (err == mpg123clr.mpg.ErrorCode.ok)
297
+ {
298
+ Console.WriteLine("\nFrameIndex:");
299
+ foreach (long idx in frameindex)
300
+ {
301
+ // Console.WriteLine(idx.ToString());
302
+ }
303
+ }
304
+
305
+ int num;
306
+ uint cnt;
307
+ IntPtr audio;
308
+
309
+ // Walk the file - effectively decode the data without using it...
310
+ Console.WriteLine("\nWalking : " + iv2.title);
311
+ DateTime dte, dts = DateTime.Now;
312
+
313
+ while (err == mpg123clr.mpg.ErrorCode.ok || err == mpg123clr.mpg.ErrorCode.new_format)
314
+ {
315
+ err = mp.mpg123_decode_frame(out num, out audio, out cnt);
316
+
317
+ // do something with "audio" here....
318
+ }
319
+
320
+ dte = DateTime.Now;
321
+
322
+ TimeSpan ts = dte - dts;
323
+ Console.WriteLine("Duration: " + ts.ToString());
324
+
325
+ mp.mpg123_close();
326
+ }
327
+
328
+ mp.Dispose();
329
+
330
+ }
331
+
332
+ static unsafe void RunFrameByFrameTest(string filename)
333
+ {
334
+ mpg123clr.mpg.ErrorCode err;
335
+
336
+ mpg123 mp = new mpg123();
337
+ err = mp.mpg123_new();
338
+
339
+ err = mp.mpg123_open(filename);
340
+
341
+ if (err != mpg123clr.mpg.ErrorCode.ok)
342
+ {
343
+ Console.WriteLine("Error: " + mp.mpg123_strerror());
344
+ }
345
+ else
346
+ {
347
+ Console.WriteLine("Open:");
348
+
349
+ // Show available decoders
350
+ string[] Decoders = mp.mpg123_decoders();
351
+
352
+ if (Decoders.Length > 0)
353
+ {
354
+ Console.WriteLine("\nDecoders:");
355
+ foreach (string str in Decoders) Console.WriteLine(str);
356
+ }
357
+
358
+ // Show supported decoders
359
+ string[] supDecoders = mp.mpg123_supported_decoders();
360
+
361
+ if (supDecoders.Length > 0)
362
+ {
363
+ Console.WriteLine("\nSupported Decoders:");
364
+ foreach (string str in supDecoders) Console.WriteLine(str);
365
+ }
366
+
367
+ // Show actual decoder
368
+ Console.WriteLine("\nDecoder: " + mp.mpg123_current_decoder());
369
+
370
+ // Show estimated file length
371
+ Console.WriteLine("\nLength Estimate: " + mp.mpg123_length().ToString());
372
+
373
+ // Scan - gets actual details including ID3v2 and Frame offsets
374
+ err = mp.mpg123_scan();
375
+
376
+ // Show actual file length
377
+ if (err == mpg123clr.mpg.ErrorCode.ok) Console.WriteLine("Length Actual : " + mp.mpg123_length().ToString());
378
+
379
+ // Get ID3 data
380
+ mpg123clr.id3.mpg123id3v1 iv1;
381
+ mpg123clr.id3.mpg123id3v2 iv2;
382
+ err = mp.mpg123_id3(out iv1, out iv2);
383
+
384
+ // Show ID3v2 data
385
+ Console.WriteLine("\nTitle : " + iv2.title);
386
+ Console.WriteLine("Artist : " + iv2.artist);
387
+ Console.WriteLine("Album : " + iv2.album);
388
+ Console.WriteLine("Comment: " + iv2.comment);
389
+ Console.WriteLine("Year : " + iv2.year);
390
+
391
+ // Demo seek (back to start of file - note: scan should already have done this)
392
+ long pos = mp.mpg123_seek(0, System.IO.SeekOrigin.Begin);
393
+
394
+ long[] frameindex;
395
+ long step;
396
+ err = mp.mpg123_index(out frameindex, out step);
397
+
398
+ if (err == mpg123clr.mpg.ErrorCode.ok)
399
+ {
400
+ Console.WriteLine("\nFrameIndex:");
401
+ foreach (long idx in frameindex)
402
+ {
403
+ // Console.WriteLine(idx.ToString());
404
+ }
405
+ }
406
+
407
+ int num;
408
+ uint cnt;
409
+ IntPtr audio;
410
+
411
+ // Walk the file - effectively decode the data without using it...
412
+ Console.WriteLine("\nFrame Walking : " + iv2.title);
413
+ DateTime dte, dts = DateTime.Now;
414
+
415
+ while (err == mpg123clr.mpg.ErrorCode.ok || err == mpg123clr.mpg.ErrorCode.new_format)
416
+ {
417
+ err = mp.mpg123_framebyframe_decode(out num, out audio, out cnt);
418
+ err = mp.mpg123_framebyframe_next();
419
+
420
+ // do something with "audio" here....
421
+ }
422
+
423
+ dte = DateTime.Now;
424
+
425
+ TimeSpan ts = dte - dts;
426
+ Console.WriteLine("Duration: " + ts.ToString());
427
+
428
+ mp.mpg123_close();
429
+ }
430
+
431
+ mp.Dispose();
432
+
433
+ }
434
+ }
435
+ }
@@ -0,0 +1,36 @@
1
+ using System.Reflection;
2
+ using System.Runtime.CompilerServices;
3
+ using System.Runtime.InteropServices;
4
+
5
+ // General Information about an assembly is controlled through the following
6
+ // set of attributes. Change these attribute values to modify the information
7
+ // associated with an assembly.
8
+ [assembly: AssemblyTitle("ReplaceReaderclr")]
9
+ [assembly: AssemblyDescription("")]
10
+ [assembly: AssemblyConfiguration("")]
11
+ [assembly: AssemblyCompany("")]
12
+ [assembly: AssemblyProduct("ReplaceReaderclr")]
13
+ [assembly: AssemblyCopyright("© mpg123 project 2009")]
14
+ [assembly: AssemblyTrademark("")]
15
+ [assembly: AssemblyCulture("")]
16
+
17
+ // Setting ComVisible to false makes the types in this assembly not visible
18
+ // to COM components. If you need to access a type in this assembly from
19
+ // COM, set the ComVisible attribute to true on that type.
20
+ [assembly: ComVisible(false)]
21
+
22
+ // The following GUID is for the ID of the typelib if this project is exposed to COM
23
+ [assembly: Guid("c65bdebb-51d7-41ba-875d-b2c938f187fc")]
24
+
25
+ // Version information for an assembly consists of the following four values:
26
+ //
27
+ // Major Version
28
+ // Minor Version
29
+ // Build Number
30
+ // Revision
31
+ //
32
+ // You can specify all the values or you can default the Build and Revision Numbers
33
+ // by using the '*' as shown below:
34
+ // [assembly: AssemblyVersion("1.0.*")]
35
+ [assembly: AssemblyVersion("1.0.0.0")]
36
+ [assembly: AssemblyFileVersion("1.0.0.0")]