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,426 @@
1
+ /*
2
+ dct64_x86_64_float: SSE optimized dct64 for x86-64 (float output version)
3
+
4
+ copyright 1995-2009 by the mpg123 project - free software under the terms of the LGPL 2.1
5
+ see COPYING and AUTHORS files in distribution or http://mpg123.org
6
+ initially written by Taihei Monma
7
+ */
8
+
9
+ #include "mangle.h"
10
+
11
+ #ifdef _WIN64
12
+ /* short *out0 */
13
+ #define ARG0 %r9
14
+ /* short *out1 */
15
+ #define ARG1 %rdx
16
+ /* real *samples */
17
+ #define ARG2 %r8
18
+ #else
19
+ /* real *out0 */
20
+ #define ARG0 %rdi
21
+ /* real *out1 */
22
+ #define ARG1 %rsi
23
+ /* real *samples */
24
+ #define ARG2 %rdx
25
+ #endif
26
+
27
+ /*
28
+ void dct64_real_x86_64(real *out0, real *out1, real *samples);
29
+ */
30
+
31
+ #ifndef __APPLE__
32
+ .section .rodata
33
+ #else
34
+ .data
35
+ #endif
36
+ ALIGN32
37
+ ASM_NAME(costab_x86_64):
38
+ .long 1056974725
39
+ .long 1057056395
40
+ .long 1057223771
41
+ .long 1057485416
42
+ .long 1057855544
43
+ .long 1058356026
44
+ .long 1059019886
45
+ .long 1059897405
46
+ .long 1061067246
47
+ .long 1062657950
48
+ .long 1064892987
49
+ .long 1066774581
50
+ .long 1069414683
51
+ .long 1073984175
52
+ .long 1079645762
53
+ .long 1092815430
54
+ .long 1057005197
55
+ .long 1057342072
56
+ .long 1058087743
57
+ .long 1059427869
58
+ .long 1061799040
59
+ .long 1065862217
60
+ .long 1071413542
61
+ .long 1084439708
62
+ .long 1057128951
63
+ .long 1058664893
64
+ .long 1063675095
65
+ .long 1076102863
66
+ .long 1057655764
67
+ .long 1067924853
68
+ .long 1060439283
69
+ .long 0
70
+ .text
71
+ ALIGN16
72
+ .globl ASM_NAME(dct64_real_x86_64)
73
+ ASM_NAME(dct64_real_x86_64):
74
+ #ifdef _WIN64 /* should save xmm6-15 */
75
+ movq %rcx, ARG0
76
+ subq $168, %rsp /* stack alignment + 10 xmm registers */
77
+ movaps %xmm6, (%rsp)
78
+ movaps %xmm7, 16(%rsp)
79
+ movaps %xmm8, 32(%rsp)
80
+ movaps %xmm9, 48(%rsp)
81
+ movaps %xmm10, 64(%rsp)
82
+ movaps %xmm11, 80(%rsp)
83
+ movaps %xmm12, 96(%rsp)
84
+ movaps %xmm13, 112(%rsp)
85
+ movaps %xmm14, 128(%rsp)
86
+ movaps %xmm15, 144(%rsp)
87
+ #endif
88
+
89
+ leaq ASM_NAME(costab_x86_64)(%rip), %rcx
90
+
91
+ MOVUAPS (ARG2), %xmm15
92
+ MOVUAPS 16(ARG2), %xmm14
93
+ MOVUAPS 112(ARG2), %xmm0
94
+ MOVUAPS 96(ARG2), %xmm1
95
+ shufps $0x1b, %xmm0, %xmm0
96
+ shufps $0x1b, %xmm1, %xmm1
97
+ movaps %xmm15, %xmm8
98
+ movaps %xmm14, %xmm9
99
+ addps %xmm0, %xmm8
100
+ addps %xmm1, %xmm9
101
+ subps %xmm0, %xmm15
102
+ subps %xmm1, %xmm14
103
+
104
+ MOVUAPS 32(ARG2), %xmm13
105
+ MOVUAPS 48(ARG2), %xmm12
106
+ MOVUAPS 80(ARG2), %xmm0
107
+ MOVUAPS 64(ARG2), %xmm1
108
+ shufps $0x1b, %xmm0, %xmm0
109
+ shufps $0x1b, %xmm1, %xmm1
110
+ movaps %xmm13, %xmm10
111
+ movaps %xmm12, %xmm11
112
+ addps %xmm0, %xmm10
113
+ addps %xmm1, %xmm11
114
+ subps %xmm0, %xmm13
115
+ subps %xmm1, %xmm12
116
+
117
+ movaps (%rcx), %xmm0
118
+ movaps 16(%rcx), %xmm1
119
+ movaps 32(%rcx), %xmm2
120
+ movaps 48(%rcx), %xmm3
121
+ mulps %xmm0, %xmm15
122
+ mulps %xmm1, %xmm14
123
+ mulps %xmm2, %xmm13
124
+ mulps %xmm3, %xmm12
125
+
126
+ movaps 64(%rcx), %xmm0
127
+ movaps 80(%rcx), %xmm1
128
+
129
+ pshufd $0x1b, %xmm11, %xmm2
130
+ pshufd $0x1b, %xmm10, %xmm3
131
+ shufps $0x1b, %xmm13, %xmm13
132
+ shufps $0x1b, %xmm12, %xmm12
133
+ movaps %xmm8, %xmm11
134
+ movaps %xmm9, %xmm10
135
+ movaps %xmm14, %xmm4
136
+ movaps %xmm15, %xmm5
137
+ subps %xmm2, %xmm11
138
+ subps %xmm3, %xmm10
139
+ subps %xmm13, %xmm14
140
+ subps %xmm12, %xmm15
141
+ addps %xmm2, %xmm8
142
+ addps %xmm3, %xmm9
143
+ addps %xmm5, %xmm12
144
+ addps %xmm4, %xmm13
145
+ mulps %xmm0, %xmm11
146
+ mulps %xmm1, %xmm10
147
+ mulps %xmm1, %xmm14
148
+ mulps %xmm0, %xmm15
149
+
150
+ movaps 96(%rcx), %xmm0
151
+
152
+ pshufd $0x1b, %xmm9, %xmm1
153
+ pshufd $0x1b, %xmm13, %xmm2
154
+ shufps $0x1b, %xmm10, %xmm10
155
+ shufps $0x1b, %xmm14, %xmm14
156
+ movaps %xmm8, %xmm9
157
+ movaps %xmm12, %xmm13
158
+ movaps %xmm11, %xmm3
159
+ movaps %xmm15, %xmm4
160
+ subps %xmm1, %xmm9
161
+ subps %xmm2, %xmm13
162
+ subps %xmm10, %xmm11
163
+ subps %xmm14, %xmm15
164
+ addps %xmm1, %xmm8
165
+ addps %xmm2, %xmm12
166
+ addps %xmm3, %xmm10
167
+ addps %xmm4, %xmm14
168
+ mulps %xmm0, %xmm9
169
+ mulps %xmm0, %xmm13
170
+ mulps %xmm0, %xmm11
171
+ mulps %xmm0, %xmm15
172
+
173
+ movaps 112(%rcx), %xmm0
174
+ movaps %xmm0, %xmm1
175
+ movlhps %xmm1, %xmm1
176
+
177
+ movaps %xmm8, %xmm2
178
+ movaps %xmm9, %xmm3
179
+ shufps $0x44, %xmm10, %xmm2
180
+ shufps $0xbb, %xmm11, %xmm9
181
+ shufps $0xbb, %xmm10, %xmm8
182
+ shufps $0x44, %xmm11, %xmm3
183
+ movaps %xmm2, %xmm4
184
+ movaps %xmm3, %xmm5
185
+ subps %xmm8, %xmm2
186
+ subps %xmm9, %xmm3
187
+ addps %xmm4, %xmm8
188
+ addps %xmm5, %xmm9
189
+ mulps %xmm1, %xmm2
190
+ mulps %xmm1, %xmm3
191
+ movaps %xmm8, %xmm10
192
+ movaps %xmm9, %xmm11
193
+ shufps $0x14, %xmm2, %xmm8
194
+ shufps $0xbe, %xmm2, %xmm10
195
+ shufps $0x14, %xmm3, %xmm9
196
+ shufps $0xbe, %xmm3, %xmm11
197
+
198
+ movaps %xmm12, %xmm2
199
+ movaps %xmm13, %xmm3
200
+ shufps $0x44, %xmm14, %xmm2
201
+ shufps $0xbb, %xmm15, %xmm13
202
+ shufps $0xbb, %xmm14, %xmm12
203
+ shufps $0x44, %xmm15, %xmm3
204
+ movaps %xmm2, %xmm4
205
+ movaps %xmm3, %xmm5
206
+ subps %xmm12, %xmm2
207
+ subps %xmm13, %xmm3
208
+ addps %xmm4, %xmm12
209
+ addps %xmm5, %xmm13
210
+ mulps %xmm1, %xmm2
211
+ mulps %xmm1, %xmm3
212
+ movaps %xmm12, %xmm14
213
+ movaps %xmm13, %xmm15
214
+ shufps $0x14, %xmm2, %xmm12
215
+ shufps $0xbe, %xmm2, %xmm14
216
+ shufps $0x14, %xmm3, %xmm13
217
+ shufps $0xbe, %xmm3, %xmm15
218
+
219
+ shufps $0xaa, %xmm0, %xmm0
220
+ pcmpeqd %xmm1, %xmm1
221
+ pslld $31, %xmm1
222
+ psllq $32, %xmm1
223
+ xorps %xmm1, %xmm0
224
+
225
+ movaps %xmm8, %xmm1
226
+ movaps %xmm10, %xmm2
227
+ unpcklps %xmm9, %xmm8
228
+ unpckhps %xmm9, %xmm1
229
+ unpcklps %xmm11, %xmm10
230
+ unpckhps %xmm11, %xmm2
231
+ movaps %xmm8, %xmm3
232
+ movaps %xmm10, %xmm4
233
+ unpcklps %xmm1, %xmm8
234
+ unpckhps %xmm1, %xmm3
235
+ unpcklps %xmm2, %xmm10
236
+ unpckhps %xmm2, %xmm4
237
+ movaps %xmm8, %xmm1
238
+ movaps %xmm10, %xmm2
239
+ subps %xmm3, %xmm1
240
+ subps %xmm4, %xmm2
241
+ addps %xmm3, %xmm8
242
+ addps %xmm4, %xmm10
243
+ mulps %xmm0, %xmm1
244
+ mulps %xmm0, %xmm2
245
+ movaps %xmm8, %xmm9
246
+ movaps %xmm10, %xmm11
247
+ unpcklps %xmm1, %xmm8
248
+ unpckhps %xmm1, %xmm9
249
+ unpcklps %xmm2, %xmm10
250
+ unpckhps %xmm2, %xmm11
251
+
252
+ movaps %xmm12, %xmm1
253
+ movaps %xmm14, %xmm2
254
+ unpcklps %xmm13, %xmm12
255
+ unpckhps %xmm13, %xmm1
256
+ unpcklps %xmm15, %xmm14
257
+ unpckhps %xmm15, %xmm2
258
+ movaps %xmm12, %xmm3
259
+ movaps %xmm14, %xmm4
260
+ unpcklps %xmm1, %xmm12
261
+ unpckhps %xmm1, %xmm3
262
+ unpcklps %xmm2, %xmm14
263
+ unpckhps %xmm2, %xmm4
264
+ movaps %xmm12, %xmm1
265
+ movaps %xmm14, %xmm2
266
+ subps %xmm3, %xmm1
267
+ subps %xmm4, %xmm2
268
+ addps %xmm3, %xmm12
269
+ addps %xmm4, %xmm14
270
+ mulps %xmm0, %xmm1
271
+ mulps %xmm0, %xmm2
272
+ movaps %xmm12, %xmm13
273
+ movaps %xmm14, %xmm15
274
+ unpcklps %xmm1, %xmm12
275
+ unpckhps %xmm1, %xmm13
276
+ unpcklps %xmm2, %xmm14
277
+ unpckhps %xmm2, %xmm15
278
+
279
+
280
+ xorps %xmm0, %xmm0
281
+ xorps %xmm1, %xmm1
282
+ shufpd $0x2, %xmm8, %xmm0
283
+ shufpd $0x2, %xmm9, %xmm1
284
+ psrlq $32, %xmm0
285
+ psrlq $32, %xmm1
286
+ addps %xmm0, %xmm8
287
+ addps %xmm1, %xmm9
288
+
289
+ xorps %xmm0, %xmm0
290
+ xorps %xmm1, %xmm1
291
+ shufpd $0x2, %xmm10, %xmm0
292
+ shufpd $0x2, %xmm11, %xmm1
293
+ psrlq $32, %xmm0
294
+ psrlq $32, %xmm1
295
+ addps %xmm0, %xmm10
296
+ addps %xmm1, %xmm11
297
+
298
+ xorps %xmm0, %xmm0
299
+ xorps %xmm1, %xmm1
300
+ shufpd $0x2, %xmm12, %xmm0
301
+ shufpd $0x2, %xmm13, %xmm1
302
+ psrlq $32, %xmm0
303
+ psrlq $32, %xmm1
304
+ addps %xmm0, %xmm12
305
+ addps %xmm1, %xmm13
306
+
307
+ xorps %xmm0, %xmm0
308
+ xorps %xmm1, %xmm1
309
+ shufpd $0x2, %xmm14, %xmm0
310
+ shufpd $0x2, %xmm15, %xmm1
311
+ psrlq $32, %xmm0
312
+ psrlq $32, %xmm1
313
+ addps %xmm0, %xmm14
314
+ addps %xmm1, %xmm15
315
+
316
+ pshufd $0x78, %xmm9, %xmm0
317
+ pshufd $0x78, %xmm11, %xmm1
318
+ pshufd $0x78, %xmm13, %xmm2
319
+ pshufd $0x78, %xmm15, %xmm3
320
+ psrldq $4, %xmm0
321
+ psrldq $4, %xmm1
322
+ psrldq $4, %xmm2
323
+ psrldq $4, %xmm3
324
+ addps %xmm0, %xmm9
325
+ addps %xmm1, %xmm11
326
+ addps %xmm2, %xmm13
327
+ addps %xmm3, %xmm15
328
+
329
+ pshufd $0x78, %xmm10, %xmm0
330
+ pshufd $0x78, %xmm14, %xmm1
331
+ psrldq $4, %xmm0
332
+ psrldq $4, %xmm1
333
+ addps %xmm11, %xmm10
334
+ addps %xmm15, %xmm14
335
+ addps %xmm0, %xmm11
336
+ addps %xmm1, %xmm15
337
+
338
+
339
+ movss %xmm8, 1024(ARG0)
340
+ movss %xmm10, 896(ARG0)
341
+ movss %xmm9, 768(ARG0)
342
+ movss %xmm11, 640(ARG0)
343
+ movhlps %xmm8, %xmm0
344
+ movhlps %xmm10, %xmm1
345
+ movhlps %xmm9, %xmm2
346
+ movhlps %xmm11, %xmm3
347
+ movss %xmm0, 512(ARG0)
348
+ movss %xmm1, 384(ARG0)
349
+ movss %xmm2, 256(ARG0)
350
+ movss %xmm3, 128(ARG0)
351
+
352
+ pshuflw $0xee, %xmm8, %xmm4
353
+ pshuflw $0xee, %xmm10, %xmm5
354
+ pshuflw $0xee, %xmm9, %xmm6
355
+ pshuflw $0xee, %xmm11, %xmm7
356
+ movss %xmm4, (ARG0)
357
+ movss %xmm4, (ARG1)
358
+ movss %xmm5, 128(ARG1)
359
+ movss %xmm6, 256(ARG1)
360
+ movss %xmm7, 384(ARG1)
361
+
362
+ pshuflw $0xee, %xmm0, %xmm0
363
+ pshuflw $0xee, %xmm1, %xmm1
364
+ pshuflw $0xee, %xmm2, %xmm2
365
+ pshuflw $0xee, %xmm3, %xmm3
366
+ movss %xmm0, 512(ARG1)
367
+ movss %xmm1, 640(ARG1)
368
+ movss %xmm2, 768(ARG1)
369
+ movss %xmm3, 896(ARG1)
370
+
371
+ pshufd $0x78, %xmm12, %xmm0
372
+ movaps %xmm13, %xmm1
373
+ psrldq $4, %xmm0
374
+
375
+ addps %xmm14, %xmm12
376
+ addps %xmm15, %xmm13
377
+ addps %xmm1, %xmm14
378
+ addps %xmm0, %xmm15
379
+
380
+ movss %xmm12, 960(ARG0)
381
+ movss %xmm14, 832(ARG0)
382
+ movss %xmm13, 704(ARG0)
383
+ movss %xmm15, 576(ARG0)
384
+ movhlps %xmm12, %xmm0
385
+ movhlps %xmm14, %xmm1
386
+ movhlps %xmm13, %xmm2
387
+ movhlps %xmm15, %xmm3
388
+ movss %xmm0, 448(ARG0)
389
+ movss %xmm1, 320(ARG0)
390
+ movss %xmm2, 192(ARG0)
391
+ movss %xmm3, 64(ARG0)
392
+
393
+ pshuflw $0xee, %xmm12, %xmm4
394
+ pshuflw $0xee, %xmm14, %xmm5
395
+ pshuflw $0xee, %xmm13, %xmm6
396
+ pshuflw $0xee, %xmm15, %xmm7
397
+ movss %xmm4, 64(ARG1)
398
+ movss %xmm5, 192(ARG1)
399
+ movss %xmm6, 320(ARG1)
400
+ movss %xmm7, 448(ARG1)
401
+
402
+ pshuflw $0xee, %xmm0, %xmm0
403
+ pshuflw $0xee, %xmm1, %xmm1
404
+ pshuflw $0xee, %xmm2, %xmm2
405
+ pshuflw $0xee, %xmm3, %xmm3
406
+ movss %xmm0, 576(ARG1)
407
+ movss %xmm1, 704(ARG1)
408
+ movss %xmm2, 832(ARG1)
409
+ movss %xmm3, 960(ARG1)
410
+
411
+ #ifdef _WIN64
412
+ movaps (%rsp), %xmm6
413
+ movaps 16(%rsp), %xmm7
414
+ movaps 32(%rsp), %xmm8
415
+ movaps 48(%rsp), %xmm9
416
+ movaps 64(%rsp), %xmm10
417
+ movaps 80(%rsp), %xmm11
418
+ movaps 96(%rsp), %xmm12
419
+ movaps 112(%rsp), %xmm13
420
+ movaps 128(%rsp), %xmm14
421
+ movaps 144(%rsp), %xmm15
422
+ addq $168, %rsp
423
+ #endif
424
+ ret
425
+
426
+ NONEXEC_STACK
@@ -0,0 +1,171 @@
1
+ /*
2
+ debug.h:
3
+ if DEBUG defined: debugging macro fprintf wrappers
4
+ else: macros defined to do nothing
5
+ That saves typing #ifdef DEBUG all the time and still preserves
6
+ lean code without debugging.
7
+
8
+ public domain (or LGPL / GPL, if you like that more;-)
9
+ generated by debugdef.pl, what was
10
+ trivially written by Thomas Orgis <thomas@orgis.org>
11
+ */
12
+
13
+ #include "config.h"
14
+
15
+ /*
16
+ I could do that with variadic macros available:
17
+ #define sdebug(me, s) fprintf(stderr, "[location] " s "\n")
18
+ #define debug(me, s, ...) fprintf(stderr, "[location] " s "}n", __VA_ARGS__)
19
+
20
+ Variadic macros are a C99 feature...
21
+ Now just predefining stuff non-variadic for up to 15 arguments.
22
+ It's cumbersome to have them all with different names, though...
23
+ */
24
+
25
+ #ifdef DEBUG
26
+ #include <stdio.h>
27
+ #define debug(s) fprintf(stderr, "[" __FILE__ ":%i] debug: " s "\n", __LINE__)
28
+ #define debug1(s, a) fprintf(stderr, "[" __FILE__ ":%i] debug: " s "\n", __LINE__, a)
29
+ #define debug2(s, a, b) fprintf(stderr, "[" __FILE__ ":%i] debug: " s "\n", __LINE__, a, b)
30
+ #define debug3(s, a, b, c) fprintf(stderr, "[" __FILE__ ":%i] debug: " s "\n", __LINE__, a, b, c)
31
+ #define debug4(s, a, b, c, d) fprintf(stderr, "[" __FILE__ ":%i] debug: " s "\n", __LINE__, a, b, c, d)
32
+ #define debug5(s, a, b, c, d, e) fprintf(stderr, "[" __FILE__ ":%i] debug: " s "\n", __LINE__, a, b, c, d, e)
33
+ #define debug6(s, a, b, c, d, e, f) fprintf(stderr, "[" __FILE__ ":%i] debug: " s "\n", __LINE__, a, b, c, d, e, f)
34
+ #define debug7(s, a, b, c, d, e, f, g) fprintf(stderr, "[" __FILE__ ":%i] debug: " s "\n", __LINE__, a, b, c, d, e, f, g)
35
+ #define debug8(s, a, b, c, d, e, f, g, h) fprintf(stderr, "[" __FILE__ ":%i] debug: " s "\n", __LINE__, a, b, c, d, e, f, g, h)
36
+ #define debug9(s, a, b, c, d, e, f, g, h, i) fprintf(stderr, "[" __FILE__ ":%i] debug: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i)
37
+ #define debug10(s, a, b, c, d, e, f, g, h, i, j) fprintf(stderr, "[" __FILE__ ":%i] debug: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j)
38
+ #define debug11(s, a, b, c, d, e, f, g, h, i, j, k) fprintf(stderr, "[" __FILE__ ":%i] debug: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k)
39
+ #define debug12(s, a, b, c, d, e, f, g, h, i, j, k, l) fprintf(stderr, "[" __FILE__ ":%i] debug: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l)
40
+ #define debug13(s, a, b, c, d, e, f, g, h, i, j, k, l, m) fprintf(stderr, "[" __FILE__ ":%i] debug: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l, m)
41
+ #define debug14(s, a, b, c, d, e, f, g, h, i, j, k, l, m, n) fprintf(stderr, "[" __FILE__ ":%i] debug: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l, m, n)
42
+ #define debug15(s, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) fprintf(stderr, "[" __FILE__ ":%i] debug: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
43
+ #else
44
+ #define debug(s)
45
+ #define debug1(s, a)
46
+ #define debug2(s, a, b)
47
+ #define debug3(s, a, b, c)
48
+ #define debug4(s, a, b, c, d)
49
+ #define debug5(s, a, b, c, d, e)
50
+ #define debug6(s, a, b, c, d, e, f)
51
+ #define debug7(s, a, b, c, d, e, f, g)
52
+ #define debug8(s, a, b, c, d, e, f, g, h)
53
+ #define debug9(s, a, b, c, d, e, f, g, h, i)
54
+ #define debug10(s, a, b, c, d, e, f, g, h, i, j)
55
+ #define debug11(s, a, b, c, d, e, f, g, h, i, j, k)
56
+ #define debug12(s, a, b, c, d, e, f, g, h, i, j, k, l)
57
+ #define debug13(s, a, b, c, d, e, f, g, h, i, j, k, l, m)
58
+ #define debug14(s, a, b, c, d, e, f, g, h, i, j, k, l, m, n)
59
+ #define debug15(s, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
60
+ #endif
61
+
62
+ /* warning macros also here... */
63
+ #ifndef NO_WARNING
64
+ #define warning(s) fprintf(stderr, "[" __FILE__ ":%i] warning: " s "\n", __LINE__)
65
+ #define warning1(s, a) fprintf(stderr, "[" __FILE__ ":%i] warning: " s "\n", __LINE__, a)
66
+ #define warning2(s, a, b) fprintf(stderr, "[" __FILE__ ":%i] warning: " s "\n", __LINE__, a, b)
67
+ #define warning3(s, a, b, c) fprintf(stderr, "[" __FILE__ ":%i] warning: " s "\n", __LINE__, a, b, c)
68
+ #define warning4(s, a, b, c, d) fprintf(stderr, "[" __FILE__ ":%i] warning: " s "\n", __LINE__, a, b, c, d)
69
+ #define warning5(s, a, b, c, d, e) fprintf(stderr, "[" __FILE__ ":%i] warning: " s "\n", __LINE__, a, b, c, d, e)
70
+ #define warning6(s, a, b, c, d, e, f) fprintf(stderr, "[" __FILE__ ":%i] warning: " s "\n", __LINE__, a, b, c, d, e, f)
71
+ #define warning7(s, a, b, c, d, e, f, g) fprintf(stderr, "[" __FILE__ ":%i] warning: " s "\n", __LINE__, a, b, c, d, e, f, g)
72
+ #define warning8(s, a, b, c, d, e, f, g, h) fprintf(stderr, "[" __FILE__ ":%i] warning: " s "\n", __LINE__, a, b, c, d, e, f, g, h)
73
+ #define warning9(s, a, b, c, d, e, f, g, h, i) fprintf(stderr, "[" __FILE__ ":%i] warning: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i)
74
+ #define warning10(s, a, b, c, d, e, f, g, h, i, j) fprintf(stderr, "[" __FILE__ ":%i] warning: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j)
75
+ #define warning11(s, a, b, c, d, e, f, g, h, i, j, k) fprintf(stderr, "[" __FILE__ ":%i] warning: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k)
76
+ #define warning12(s, a, b, c, d, e, f, g, h, i, j, k, l) fprintf(stderr, "[" __FILE__ ":%i] warning: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l)
77
+ #define warning13(s, a, b, c, d, e, f, g, h, i, j, k, l, m) fprintf(stderr, "[" __FILE__ ":%i] warning: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l, m)
78
+ #define warning14(s, a, b, c, d, e, f, g, h, i, j, k, l, m, n) fprintf(stderr, "[" __FILE__ ":%i] warning: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l, m, n)
79
+ #define warning15(s, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) fprintf(stderr, "[" __FILE__ ":%i] warning: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
80
+ #else
81
+ #define warning(s)
82
+ #define warning1(s, a)
83
+ #define warning2(s, a, b)
84
+ #define warning3(s, a, b, c)
85
+ #define warning4(s, a, b, c, d)
86
+ #define warning5(s, a, b, c, d, e)
87
+ #define warning6(s, a, b, c, d, e, f)
88
+ #define warning7(s, a, b, c, d, e, f, g)
89
+ #define warning8(s, a, b, c, d, e, f, g, h)
90
+ #define warning9(s, a, b, c, d, e, f, g, h, i)
91
+ #define warning10(s, a, b, c, d, e, f, g, h, i, j)
92
+ #define warning11(s, a, b, c, d, e, f, g, h, i, j, k)
93
+ #define warning12(s, a, b, c, d, e, f, g, h, i, j, k, l)
94
+ #define warning13(s, a, b, c, d, e, f, g, h, i, j, k, l, m)
95
+ #define warning14(s, a, b, c, d, e, f, g, h, i, j, k, l, m, n)
96
+ #define warning15(s, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
97
+ #endif
98
+
99
+ /* error macros also here... */
100
+ #ifndef NO_ERRORMSG
101
+ #define error(s) fprintf(stderr, "[" __FILE__ ":%i] error: " s "\n", __LINE__)
102
+ #define error1(s, a) fprintf(stderr, "[" __FILE__ ":%i] error: " s "\n", __LINE__, a)
103
+ #define error2(s, a, b) fprintf(stderr, "[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b)
104
+ #define error3(s, a, b, c) fprintf(stderr, "[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c)
105
+ #define error4(s, a, b, c, d) fprintf(stderr, "[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d)
106
+ #define error5(s, a, b, c, d, e) fprintf(stderr, "[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e)
107
+ #define error6(s, a, b, c, d, e, f) fprintf(stderr, "[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e, f)
108
+ #define error7(s, a, b, c, d, e, f, g) fprintf(stderr, "[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e, f, g)
109
+ #define error8(s, a, b, c, d, e, f, g, h) fprintf(stderr, "[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e, f, g, h)
110
+ #define error9(s, a, b, c, d, e, f, g, h, i) fprintf(stderr, "[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i)
111
+ #define error10(s, a, b, c, d, e, f, g, h, i, j) fprintf(stderr, "[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j)
112
+ #define error11(s, a, b, c, d, e, f, g, h, i, j, k) fprintf(stderr, "[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k)
113
+ #define error12(s, a, b, c, d, e, f, g, h, i, j, k, l) fprintf(stderr, "[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l)
114
+ #define error13(s, a, b, c, d, e, f, g, h, i, j, k, l, m) fprintf(stderr, "[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l, m)
115
+ #define error14(s, a, b, c, d, e, f, g, h, i, j, k, l, m, n) fprintf(stderr, "[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l, m, n)
116
+ #define error15(s, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) fprintf(stderr, "[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
117
+ #else
118
+ #define error(s)
119
+ #define error1(s, a)
120
+ #define error2(s, a, b)
121
+ #define error3(s, a, b, c)
122
+ #define error4(s, a, b, c, d)
123
+ #define error5(s, a, b, c, d, e)
124
+ #define error6(s, a, b, c, d, e, f)
125
+ #define error7(s, a, b, c, d, e, f, g)
126
+ #define error8(s, a, b, c, d, e, f, g, h)
127
+ #define error9(s, a, b, c, d, e, f, g, h, i)
128
+ #define error10(s, a, b, c, d, e, f, g, h, i, j)
129
+ #define error11(s, a, b, c, d, e, f, g, h, i, j, k)
130
+ #define error12(s, a, b, c, d, e, f, g, h, i, j, k, l)
131
+ #define error13(s, a, b, c, d, e, f, g, h, i, j, k, l, m)
132
+ #define error14(s, a, b, c, d, e, f, g, h, i, j, k, l, m, n)
133
+ #define error15(s, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
134
+ #endif
135
+
136
+ /* ereturn macros also here... */
137
+ #ifndef NO_ERETURN
138
+ #define ereturn(rv, s) do{ fprintf(stderr, "[" __FILE__ ":%i] ereturn: " s "\n", __LINE__); return rv; }while(0)
139
+ #define ereturn1(rv, s, a) do{ fprintf(stderr, "[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a); return rv; }while(0)
140
+ #define ereturn2(rv, s, a, b) do{ fprintf(stderr, "[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b); return rv; }while(0)
141
+ #define ereturn3(rv, s, a, b, c) do{ fprintf(stderr, "[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c); return rv; }while(0)
142
+ #define ereturn4(rv, s, a, b, c, d) do{ fprintf(stderr, "[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d); return rv; }while(0)
143
+ #define ereturn5(rv, s, a, b, c, d, e) do{ fprintf(stderr, "[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e); return rv; }while(0)
144
+ #define ereturn6(rv, s, a, b, c, d, e, f) do{ fprintf(stderr, "[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e, f); return rv; }while(0)
145
+ #define ereturn7(rv, s, a, b, c, d, e, f, g) do{ fprintf(stderr, "[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e, f, g); return rv; }while(0)
146
+ #define ereturn8(rv, s, a, b, c, d, e, f, g, h) do{ fprintf(stderr, "[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e, f, g, h); return rv; }while(0)
147
+ #define ereturn9(rv, s, a, b, c, d, e, f, g, h, i) do{ fprintf(stderr, "[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i); return rv; }while(0)
148
+ #define ereturn10(rv, s, a, b, c, d, e, f, g, h, i, j) do{ fprintf(stderr, "[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j); return rv; }while(0)
149
+ #define ereturn11(rv, s, a, b, c, d, e, f, g, h, i, j, k) do{ fprintf(stderr, "[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k); return rv; }while(0)
150
+ #define ereturn12(rv, s, a, b, c, d, e, f, g, h, i, j, k, l) do{ fprintf(stderr, "[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l); return rv; }while(0)
151
+ #define ereturn13(rv, s, a, b, c, d, e, f, g, h, i, j, k, l, m) do{ fprintf(stderr, "[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l, m); return rv; }while(0)
152
+ #define ereturn14(rv, s, a, b, c, d, e, f, g, h, i, j, k, l, m, n) do{ fprintf(stderr, "[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l, m, n); return rv; }while(0)
153
+ #define ereturn15(rv, s, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) do{ fprintf(stderr, "[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o); return rv; }while(0)
154
+ #else
155
+ #define ereturn(rv, s) return rv
156
+ #define ereturn1(rv, s, a) return rv
157
+ #define ereturn2(rv, s, a, b) return rv
158
+ #define ereturn3(rv, s, a, b, c) return rv
159
+ #define ereturn4(rv, s, a, b, c, d) return rv
160
+ #define ereturn5(rv, s, a, b, c, d, e) return rv
161
+ #define ereturn6(rv, s, a, b, c, d, e, f) return rv
162
+ #define ereturn7(rv, s, a, b, c, d, e, f, g) return rv
163
+ #define ereturn8(rv, s, a, b, c, d, e, f, g, h) return rv
164
+ #define ereturn9(rv, s, a, b, c, d, e, f, g, h, i) return rv
165
+ #define ereturn10(rv, s, a, b, c, d, e, f, g, h, i, j) return rv
166
+ #define ereturn11(rv, s, a, b, c, d, e, f, g, h, i, j, k) return rv
167
+ #define ereturn12(rv, s, a, b, c, d, e, f, g, h, i, j, k, l) return rv
168
+ #define ereturn13(rv, s, a, b, c, d, e, f, g, h, i, j, k, l, m) return rv
169
+ #define ereturn14(rv, s, a, b, c, d, e, f, g, h, i, j, k, l, m, n) return rv
170
+ #define ereturn15(rv, s, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) return rv
171
+ #endif