topical media & game development

talk show tell print

mobile-query-three-plugins-webaudio-vendor-jsfx-jsfxlib.js / js



  var jsfxlib = {};
  (function () {
      // takes object with param arrays
      // audiolib = {
      //   Sound : ["sine", 1, 2, 4, 1...
      // }
      //
      // returns object with audio samples
      // p.Sound.play()
      this.createWaves = function(lib){
          var sounds = {};
          for (var e in lib) {
              var data = lib[e];
              sounds[e] = this.createWave(data);
          }
          return sounds;
      }
  
      /* Create a single sound:
         var p = jsfxlib.createWave(["sine", 1,2,3, etc.]);
         p.play();
     */
      this.createWave = function(lib) {
          var params = this.arrayToParams(lib),
              data = jsfx.generate(params),
              wave = audio.make(data);
  
          return wave;
      }
  
      this.paramsToArray = function(params){
          var pararr = [];
          var len = jsfx.Parameters.length;
          for(var i = 0; i < len; i++){
              pararr.push(params[jsfx.Parameters[i].id]);
          }
          return pararr;
      }
  
      this.arrayToParams = function(pararr){
          var params = {};
          var len = jsfx.Parameters.length;
          for(var i = 0; i < len; i++){
              params[jsfx.Parameters[i].id] = pararr[i];
          }
          return params;
      }
  }).apply(jsfxlib);
  


(C) Æliens 04/09/2009

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.