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,72 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
+ <PropertyGroup>
4
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
5
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
6
+ <ProductVersion>9.0.30729</ProductVersion>
7
+ <SchemaVersion>2.0</SchemaVersion>
8
+ <ProjectGuid>{6415FBC0-44EC-4158-8A24-127D9BAC5CEA}</ProjectGuid>
9
+ <OutputType>Exe</OutputType>
10
+ <AppDesignerFolder>Properties</AppDesignerFolder>
11
+ <RootNamespace>ReplaceReaderclr</RootNamespace>
12
+ <AssemblyName>ReplaceReaderclr</AssemblyName>
13
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
14
+ <FileAlignment>512</FileAlignment>
15
+ </PropertyGroup>
16
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
17
+ <DebugSymbols>true</DebugSymbols>
18
+ <DebugType>full</DebugType>
19
+ <Optimize>false</Optimize>
20
+ <OutputPath>bin\Debug\</OutputPath>
21
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
22
+ <ErrorReport>prompt</ErrorReport>
23
+ <WarningLevel>4</WarningLevel>
24
+ <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
25
+ <PlatformTarget>x86</PlatformTarget>
26
+ </PropertyGroup>
27
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
28
+ <DebugType>pdbonly</DebugType>
29
+ <Optimize>true</Optimize>
30
+ <OutputPath>bin\Release\</OutputPath>
31
+ <DefineConstants>TRACE</DefineConstants>
32
+ <ErrorReport>prompt</ErrorReport>
33
+ <WarningLevel>4</WarningLevel>
34
+ <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
35
+ <PlatformTarget>x86</PlatformTarget>
36
+ </PropertyGroup>
37
+ <ItemGroup>
38
+ <Reference Include="System" />
39
+ <Reference Include="System.Core">
40
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
41
+ </Reference>
42
+ <Reference Include="System.Xml.Linq">
43
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
44
+ </Reference>
45
+ <Reference Include="System.Data.DataSetExtensions">
46
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
47
+ </Reference>
48
+ <Reference Include="System.Data" />
49
+ <Reference Include="System.Xml" />
50
+ </ItemGroup>
51
+ <ItemGroup>
52
+ <Compile Include="Program.cs" />
53
+ <Compile Include="Properties\AssemblyInfo.cs" />
54
+ </ItemGroup>
55
+ <ItemGroup>
56
+ <ProjectReference Include="..\..\mpg123clr\mpg123clr.vcproj">
57
+ <Project>{99E8B20E-9C29-46BC-B766-A50F237D88BF}</Project>
58
+ <Name>mpg123clr</Name>
59
+ </ProjectReference>
60
+ </ItemGroup>
61
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
62
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
63
+ Other similar extension points exist, see Microsoft.Common.targets.
64
+ <Target Name="BeforeBuild">
65
+ </Target>
66
+ <Target Name="AfterBuild">
67
+ </Target>
68
+ -->
69
+ <PropertyGroup>
70
+ <PostBuildEvent>if exist "$(SolutionDir)$(ConfigurationName)\libmpg123.dll" copy /y "$(SolutionDir)$(ConfigurationName)\libmpg123.dll" "$(TargetDir)"</PostBuildEvent>
71
+ </PropertyGroup>
72
+ </Project>
@@ -0,0 +1,331 @@
1
+ /*
2
+ feedseekclr: test program for mpg123clr, showing how to use fuzzy seeking in feeder mode
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
+ based on feedseek.c example for libmpg123.
7
+
8
+ Comment (Malcolm Boczek)
9
+ this CLR example has been written to allow easy comparison to the original feedseek.c example
10
+ and uses some constructs that would not normally be used in a C# environment,
11
+ eg: byte[]/ASCII text, Marshal.Copy, static fields, lots of casts etc.
12
+ */
13
+
14
+ /*
15
+ 1.9.0.0 24-Sep-09 Function names harmonized with libmpg123 (mb)
16
+ */
17
+
18
+ using System;
19
+ using System.Collections.Generic;
20
+ using System.Linq;
21
+ using System.Text;
22
+
23
+ using System.IO;
24
+ using System.Runtime.InteropServices;
25
+
26
+ using mpg123clr;
27
+
28
+ namespace feedseekclr
29
+ {
30
+ class Program
31
+ {
32
+ const int WAVE_FORMAT_PCM = 0x0001;
33
+ const int WAVE_FORMAT_IEEE_FLOAT = 0x0003;
34
+
35
+ static BinaryWriter _out;
36
+ static long totaloffset, dataoffset;
37
+ static int rate;
38
+ static mpg123clr.mpg.channelcount channels;
39
+ static mpg123clr.mpg.enc enc;
40
+ static short bitspersample, wavformat;
41
+
42
+ // write wav header
43
+ static void initwav()
44
+ {
45
+ uint tmp32 = 0;
46
+ ushort tmp16 = 0;
47
+ byte[] rifftxt = new byte[] { (byte)'R', (byte)'I', (byte)'F', (byte)'F' };
48
+ byte[] wavetxt = new byte[] { (byte)'W', (byte)'A', (byte)'V', (byte)'E' };
49
+ byte[] fmttxt = new byte[] { (byte)'f', (byte)'m', (byte)'t', (byte)' ' };
50
+ byte[] datatxt = new byte[] { (byte)'d', (byte)'a', (byte)'t', (byte)'a' };
51
+
52
+ _out.Write(rifftxt);
53
+ totaloffset = _out.BaseStream.Position;
54
+
55
+ _out.Write(tmp32); // total size
56
+ _out.Write(wavetxt);
57
+ _out.Write(fmttxt);
58
+
59
+ tmp32 = 16;
60
+ _out.Write(tmp32); // format length
61
+
62
+ tmp16 = (ushort)wavformat;
63
+ _out.Write(tmp16); // format
64
+
65
+ tmp16 = (ushort)channels;
66
+ _out.Write(tmp16); // channels
67
+
68
+ tmp32 = (uint)rate;
69
+ _out.Write(tmp32); // sample rate
70
+
71
+ tmp32 = (uint) (rate * bitspersample / 8 * (int)channels);
72
+ _out.Write(tmp32); // bytes / second
73
+
74
+ tmp16 = (ushort)(bitspersample / 8 * (int)channels); // float 16 or signed int 16
75
+ _out.Write(tmp16); // block align
76
+
77
+ tmp16 = (ushort)bitspersample;
78
+ _out.Write(tmp16); // bits per sample
79
+
80
+ _out.Write(datatxt);
81
+
82
+ tmp32 = 0;
83
+ dataoffset = _out.BaseStream.Position;
84
+
85
+ _out.Write(tmp32); // data length
86
+
87
+ }
88
+
89
+ // rewrite wav header with final length infos
90
+ static void closewav()
91
+ {
92
+ uint tmp32 = 0;
93
+ // ushort tmp16 = 0;
94
+
95
+ int total = (int)_out.BaseStream.Position;
96
+
97
+ _out.Seek((int)totaloffset, SeekOrigin.Begin);
98
+ tmp32 = (uint)(total - (totaloffset + 4));
99
+
100
+ _out.Write(tmp32);
101
+
102
+ _out.Seek((int)dataoffset, SeekOrigin.Begin);
103
+
104
+ tmp32 = (uint)(total - (dataoffset + 4));
105
+
106
+ _out.Write(tmp32);
107
+ }
108
+
109
+ // determine correct wav format and bits per sample
110
+ // from mpg123 enc value
111
+ static void initwavformat()
112
+ {
113
+ if ((enc & mpg123clr.mpg.enc.enc_float_64) != 0)
114
+ {
115
+ bitspersample = 64;
116
+ wavformat = WAVE_FORMAT_IEEE_FLOAT;
117
+ }
118
+ else if ((enc & mpg123clr.mpg.enc.enc_float_32) != 0)
119
+ {
120
+ bitspersample = 32;
121
+ wavformat = WAVE_FORMAT_IEEE_FLOAT;
122
+ }
123
+ else if ((enc & mpg123clr.mpg.enc.enc_16) != 0)
124
+ {
125
+ bitspersample = 16;
126
+ wavformat = WAVE_FORMAT_PCM;
127
+ }
128
+ else
129
+ {
130
+ bitspersample = 8;
131
+ wavformat = WAVE_FORMAT_PCM;
132
+ }
133
+ }
134
+
135
+ static void Main(string[] args)
136
+ {
137
+ const long INBUFF = 16384 * 2 * 2;
138
+
139
+ int ret;
140
+ mpg123clr.mpg.ErrorCode state;
141
+ long inoffset,inc = 0;
142
+ long outc = 0;
143
+ byte[] buf = new byte[INBUFF];
144
+
145
+ if (args.Length < 2)
146
+ {
147
+ Console.WriteLine("Please supply in and out filenames\n");
148
+ Console.WriteLine("Press any key to exit:");
149
+ while (Console.Read() == 0) ;
150
+
151
+ return;
152
+ }
153
+
154
+ mpg123clr.mpg.ErrorCode err;
155
+
156
+ err = mpg123.mpg123_init();
157
+
158
+ mpg123 mp = new mpg123();
159
+ err = mp.mpg123_new();
160
+
161
+ if (err != mpg123clr.mpg.ErrorCode.ok)
162
+ {
163
+ Console.WriteLine("Unable to create mpg123 handle: " + mpg123error.mpg123_plain_strerror(err));
164
+ Console.WriteLine("Press any key to exit:");
165
+ while (Console.Read() == 0) ;
166
+
167
+ return;
168
+ }
169
+
170
+ mp.mpg123_param(mpg123clr.mpg.parms.verbose, 4, 0);
171
+
172
+ err = mp.mpg123_param(mpg123clr.mpg.parms.flags,
173
+ (int) (mpg123clr.mpg.param_flags.fuzzy |
174
+ mpg123clr.mpg.param_flags.seekbuffer |
175
+ mpg123clr.mpg.param_flags.gapless), 0);
176
+
177
+ if (err != mpg123clr.mpg.ErrorCode.ok)
178
+ {
179
+ Console.WriteLine("Unable to set library options: " + mp.mpg123_strerror());
180
+ Console.WriteLine("Press any key to exit:");
181
+ while (Console.Read() == 0) ;
182
+
183
+ return;
184
+ }
185
+
186
+ // Let the seek index auto-grow and contain an entry for every frame
187
+ err = mp.mpg123_param(mpg123clr.mpg.parms.index_size, -1, 0);
188
+
189
+ if (err != mpg123clr.mpg.ErrorCode.ok)
190
+ {
191
+ Console.WriteLine("Unable to set index size: " + mp.mpg123_strerror());
192
+ Console.WriteLine("Press any key to exit:");
193
+ while (Console.Read() == 0) ;
194
+
195
+ return;
196
+ }
197
+
198
+ // Use float output formats only
199
+ err = mp.mpg123_format_none();
200
+
201
+ if (err != mpg123clr.mpg.ErrorCode.ok)
202
+ {
203
+ Console.WriteLine("Unable to disable all output formats: " + mp.mpg123_strerror());
204
+ Console.WriteLine("Press any key to exit:");
205
+ while (Console.Read() == 0) ;
206
+
207
+ return;
208
+ }
209
+
210
+ int[] rates = mp.mpg123_rates();
211
+ foreach (int rate in rates)
212
+ {
213
+ err = mp.mpg123_format(rate, mpg123clr.mpg.channelcount.both, mpg123clr.mpg.enc.enc_float_32);
214
+
215
+ if (err != mpg123clr.mpg.ErrorCode.ok)
216
+ {
217
+ Console.WriteLine("Unable to set float output formats: " + mp.mpg123_strerror());
218
+ Console.WriteLine("Press any key to exit:");
219
+ while (Console.Read() == 0) ;
220
+
221
+ return;
222
+ }
223
+ }
224
+
225
+ err = mp.mpg123_open_feed();
226
+
227
+ if (err != mpg123clr.mpg.ErrorCode.ok)
228
+ {
229
+ Console.WriteLine("Unable to open feed: " + mp.mpg123_strerror());
230
+ Console.WriteLine("Press any key to exit:");
231
+ while (Console.Read() == 0) ;
232
+
233
+ return;
234
+ }
235
+
236
+ string filename = args[0];
237
+ BinaryReader _in = new BinaryReader(File.Open(filename, FileMode.Open));
238
+
239
+ _out = new BinaryWriter(File.Open(args[1], FileMode.Create));
240
+
241
+ while ((ret = (int)(mp.mpg123_feedseek(95000, SeekOrigin.Begin, out inoffset))) == (int)mpg123clr.mpg.ErrorCode.need_more) // equiv to mpg123_feedseek
242
+ {
243
+ buf = _in.ReadBytes((int)INBUFF);
244
+
245
+ if (buf.Length <= 0) break;
246
+
247
+ inc += buf.Length;
248
+
249
+ state = mp.mpg123_feed(buf, (uint)buf.Length);
250
+
251
+ if (state == mpg123clr.mpg.ErrorCode.err)
252
+ {
253
+ Console.WriteLine("Feed error: " + mp.mpg123_strerror());
254
+ Console.WriteLine("Press any key to exit:");
255
+ while (Console.Read() == 0) ;
256
+
257
+ return;
258
+ }
259
+ }
260
+
261
+ _in.BaseStream.Seek(inoffset, SeekOrigin.Begin);
262
+
263
+ while (true)
264
+ {
265
+ buf = _in.ReadBytes((int)INBUFF);
266
+ if (buf.Length <= 0) break;
267
+
268
+ inc += buf.Length;
269
+
270
+ err = mp.mpg123_feed(buf, (uint)buf.Length);
271
+
272
+ int num;
273
+ uint bytes;
274
+ IntPtr audio;
275
+
276
+ while (err != mpg123clr.mpg.ErrorCode.err && err != mpg123clr.mpg.ErrorCode.need_more)
277
+ {
278
+ err = mp.mpg123_decode_frame(out num, out audio, out bytes);
279
+
280
+ if (err == mpg123clr.mpg.ErrorCode.new_format)
281
+ {
282
+ mp.mpg123_getformat(out rate, out channels, out enc);
283
+
284
+ initwavformat();
285
+ initwav();
286
+ }
287
+
288
+ // (Surprisingly?) even though it does a Marshal.Copy it's as efficient as the pointer example below!!!
289
+ if (bytes > 0)
290
+ {
291
+ byte[] outbuf = new byte[bytes];
292
+ Marshal.Copy(audio, outbuf, 0, (int)bytes);
293
+
294
+ _out.Write(outbuf, 0, (int)bytes);
295
+ }
296
+
297
+ // Alternative example of direct usage of audio data via pointers - note it needs "unsafe"
298
+ // and I'm fairly sure pointers should be "fixed" first
299
+ // if (bytes > 0)
300
+ // unsafe{
301
+ // byte* p = (byte*)audio;
302
+ // for (int ii = 0; ii < bytes; ii++)
303
+ // _out.Write(*p++);
304
+ // }
305
+
306
+ outc += bytes;
307
+ }
308
+
309
+ if (err == mpg123clr.mpg.ErrorCode.err)
310
+ {
311
+ Console.WriteLine("Error: " + mp.mpg123_strerror());
312
+ break;
313
+ }
314
+
315
+ }
316
+
317
+ Console.WriteLine("Finished");
318
+
319
+ closewav();
320
+
321
+ _out.Close();
322
+ _in.Close();
323
+
324
+ mp.mpg123_delete();
325
+ mp.Dispose();
326
+
327
+ mpg123.mpg123_exit();
328
+
329
+ }
330
+ }
331
+ }
@@ -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("feedseekclr")]
9
+ [assembly: AssemblyDescription("")]
10
+ [assembly: AssemblyConfiguration("")]
11
+ [assembly: AssemblyCompany("")]
12
+ [assembly: AssemblyProduct("feedseekclr")]
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("1fdb46e2-eb93-4e8f-8266-0d386215cc75")]
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")]
@@ -0,0 +1,71 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
+ <PropertyGroup>
4
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
5
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
6
+ <ProductVersion>9.0.30729</ProductVersion>
7
+ <SchemaVersion>2.0</SchemaVersion>
8
+ <ProjectGuid>{626B52AB-1E46-46FB-A259-03DCE3994BE6}</ProjectGuid>
9
+ <OutputType>Exe</OutputType>
10
+ <AppDesignerFolder>Properties</AppDesignerFolder>
11
+ <RootNamespace>feedseekclr</RootNamespace>
12
+ <AssemblyName>feedseekclr</AssemblyName>
13
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
14
+ <FileAlignment>512</FileAlignment>
15
+ </PropertyGroup>
16
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
17
+ <DebugSymbols>true</DebugSymbols>
18
+ <DebugType>full</DebugType>
19
+ <Optimize>false</Optimize>
20
+ <OutputPath>bin\Debug\</OutputPath>
21
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
22
+ <ErrorReport>prompt</ErrorReport>
23
+ <WarningLevel>4</WarningLevel>
24
+ <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
25
+ <PlatformTarget>x86</PlatformTarget>
26
+ </PropertyGroup>
27
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
28
+ <DebugType>pdbonly</DebugType>
29
+ <Optimize>true</Optimize>
30
+ <OutputPath>bin\Release\</OutputPath>
31
+ <DefineConstants>TRACE</DefineConstants>
32
+ <ErrorReport>prompt</ErrorReport>
33
+ <WarningLevel>4</WarningLevel>
34
+ <PlatformTarget>x86</PlatformTarget>
35
+ </PropertyGroup>
36
+ <ItemGroup>
37
+ <Reference Include="System" />
38
+ <Reference Include="System.Core">
39
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
40
+ </Reference>
41
+ <Reference Include="System.Xml.Linq">
42
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
43
+ </Reference>
44
+ <Reference Include="System.Data.DataSetExtensions">
45
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
46
+ </Reference>
47
+ <Reference Include="System.Data" />
48
+ <Reference Include="System.Xml" />
49
+ </ItemGroup>
50
+ <ItemGroup>
51
+ <Compile Include="Program.cs" />
52
+ <Compile Include="Properties\AssemblyInfo.cs" />
53
+ </ItemGroup>
54
+ <ItemGroup>
55
+ <ProjectReference Include="..\..\mpg123clr\mpg123clr.vcproj">
56
+ <Project>{99E8B20E-9C29-46BC-B766-A50F237D88BF}</Project>
57
+ <Name>mpg123clr</Name>
58
+ </ProjectReference>
59
+ </ItemGroup>
60
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
61
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
62
+ Other similar extension points exist, see Microsoft.Common.targets.
63
+ <Target Name="BeforeBuild">
64
+ </Target>
65
+ <Target Name="AfterBuild">
66
+ </Target>
67
+ -->
68
+ <PropertyGroup>
69
+ <PostBuildEvent>if exist "$(SolutionDir)$(ConfigurationName)\libmpg123.dll" copy /y "$(SolutionDir)$(ConfigurationName)\libmpg123.dll" "$(TargetDir)"</PostBuildEvent>
70
+ </PropertyGroup>
71
+ </Project>