index.html 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <!doctype html>
  2. <html lang="en-us">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  6. <title>Oxygine-Sound Emscripten Demo</title>
  7. <style>
  8. body {
  9. font-family: arial;
  10. margin: 50;
  11. padding: none;
  12. }
  13. .emscripten { padding-right: 0; margin-left: auto; margin-right: auto; display: block; }
  14. div.emscripten { text-align: center; }
  15. /* the canvas *must not* have any border or padding, or mouse coords will be wrong */
  16. /*canvas.emscripten { border: 0px none; width: 960px;height: 640px;}*/
  17. </style>
  18. </head>
  19. <body>
  20. <div class="emscripten" id="status">Downloading Please Wait...</div>
  21. <div class="emscripten">
  22. <progress value="0" max="100" id="progress" hidden=1></progress>
  23. </div>
  24. <div class="emscripten_border">
  25. <canvas class="emscripten" id="canvas" oncontextmenu="event.preventDefault()"></canvas>
  26. </div>
  27. <div>DEMO ISNT WORKING IN IE AND SAFARI!</div>
  28. <textarea id="output" rows="8" style="width: 800px; height: 150px;"></textarea>
  29. <a href="http://oxygine.org">Oxygine 2014. Built with Emscripten</a>
  30. <script type='text/javascript'>
  31. var statusElement = document.getElementById('status');
  32. var progressElement = document.getElementById('progress');
  33. var spinnerElement = document.getElementById('spinner');
  34. var cv = document.getElementById('canvas');
  35. cv.width = 960;
  36. cv.height = 640;
  37. function prerun()
  38. {
  39. //FS.writeFile("qwe/test.txt", "Hello World2");
  40. }
  41. function postrun()
  42. {
  43. //var f = Module.cwrap('fromjs_preloaded', 'number', ['number']);
  44. //f(123);
  45. }
  46. var Module = {
  47. preRun: [prerun],
  48. postRun: [postrun],
  49. print: (function() {
  50. var element = document.getElementById('output');
  51. if (element) element.value = ''; // clear browser cache
  52. return function(text) {
  53. text = Array.prototype.slice.call(arguments).join(' ');
  54. // These replacements are necessary if you render to raw HTML
  55. //text = text.replace(/&/g, "&amp;");
  56. //text = text.replace(/</g, "&lt;");
  57. //text = text.replace(/>/g, "&gt;");
  58. //text = text.replace('\n', '<br>', 'g');
  59. console.log(text);
  60. if (element) {
  61. element.value += text + "\n";
  62. element.scrollTop = element.scrollHeight; // focus on bottom
  63. }
  64. };
  65. })(),
  66. printErr: function(text) {
  67. text = Array.prototype.slice.call(arguments).join(' ');
  68. if (0) { // XXX disabled for safety typeof dump == 'function') {
  69. dump(text + '\n'); // fast, straight to the real console
  70. } else {
  71. console.error(text);
  72. }
  73. },
  74. canvas: cv,
  75. setStatus: function(text) {
  76. console.log("progress " + text);
  77. if (!Module.setStatus.last) Module.setStatus.last = { time: Date.now(), text: '' };
  78. if (text === Module.setStatus.text) return;
  79. var m = text.match(/([^(]+)\((\d+(\.\d+)?)\/(\d+)\)/);
  80. var now = Date.now();
  81. //if (m && now - Date.now() < 30) return; // if this is a progress update, skip it if too soon
  82. if (m) {
  83. text = m[1];
  84. progressElement.value = parseInt(m[2])*100;
  85. progressElement.max = parseInt(m[4])*100;
  86. progressElement.hidden = false;
  87. //spinnerElement.hidden = false;
  88. } else {
  89. progressElement.value = null;
  90. progressElement.max = null;
  91. progressElement.hidden = true;
  92. //if (!text) spinnerElement.style.display = 'none';
  93. }
  94. statusElement.innerHTML = text;
  95. },
  96. totalDependencies: 0,
  97. monitorRunDependencies: function(left) {
  98. this.totalDependencies = Math.max(this.totalDependencies, left);
  99. Module.setStatus(left ? 'Preparing... (' + (this.totalDependencies-left) + '/' + this.totalDependencies + ')' : 'All downloads complete.');
  100. }
  101. };
  102. //Module.setStatus('Downloading Please Wait (1-2 minuts)...');
  103. </script>
  104. <script type="text/javascript" src="js2cpp.js"></script>
  105. <script type="text/javascript" src="sound.js"></script>
  106. <script type="text/javascript" src="preloading.js"></script>
  107. <script async type="text/javascript" src="build/SoundDemo.js"></script>
  108. </body>
  109. </html>