1 line
1.3 KiB
JavaScript
1 line
1.3 KiB
JavaScript
"use strict";var t=function(t){return t&&t.__esModule?t["default"]:t},i=function(){function t(t,i){for(var e in i){var n=i[e];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,i)}return function(i,e,n){return e&&t(i.prototype,e),n&&t(i,n),i}}(),e=function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")},n=t(require("node-pid-controller")),u=t(require("./two-way-controller")),o=function(){function t(i){e(this,t),this.pid=new n(5,1,.02,!1),this._target=0,this.pid.setTarget(this._target),this.audio=new u(i),this.isPlaying=!1}return i(t,{load:{value:function(t){var i=this;this.audio.load(function(){i.isPlaying=!0,t()})}},playAtTime:{value:function(t){var i=void 0===arguments[1]?1:arguments[1];this.audio.playAtTime(t,i)}},stop:{value:function(){this.isPlaying=!1,this.audio.stop()}},target:{set:function(t){var i=this.audio.currentTime-t,e=this.pid.update(i);this.audio.playbackRate=e}},zeroPid:{value:function(){this.pid.update(0)}},currentTime:{set:function(t){this.audio.currentTime=t},get:function(){return this.audio.currentTime}},duration:{get:function(){return this.audio.duration}},getSamples:{value:function(t){return this.audio.getSamples(t)}},reset:{value:function(){this.pid.reset()}},dispose:{value:function(){this.audio.dispose(),this.audio=null,this.pid=null}}}),t}();module.exports=o; |