1 line
2.2 KiB
JavaScript
1 line
2.2 KiB
JavaScript
"use strict";var i=function(i){return i&&i.__esModule?i["default"]:i},n=function(){function i(i,n){for(var e in n){var o=n[e];o.configurable=!0,o.value&&(o.writable=!0)}Object.defineProperties(i,n)}return function(n,e,o){return e&&i(n.prototype,e),o&&i(n,o),n}}(),e=function(i,n){if(!(i instanceof n))throw new TypeError("Cannot call a class as a function")},o=i(require("./audio-playback")),t=function(){function i(n,o){e(this,i),this.model=n,this.root=o,this.playbacks=[],this.rebuild(),this.onPropsChangedBind=this.onPropsChanged.bind(this),this.onDataChangedBind=this.onDataChanged.bind(this),this.onTogglePlayBind=this.onTogglePlay.bind(this),this.onToggleTimeScrubBind=this.onToggleTimeScrub.bind(this),this.onTimeScrubBind=this.onTimeScrub.bind(this),this.model.on("onpropertieschanged",this.onPropsChangedBind),this.model.on("ondatachanged",this.onDataChangedBind),this.model.on("toggle-play",this.onTogglePlayBind),this.model.on("toggle-time-scrub",this.onToggleTimeScrubBind),this.model.on("drag-keyframe",this.onTimeScrubBind)}return n(i,{onToggleTimeScrub:{value:function(i){this.playbacks.forEach(function(n){n.onToggleTimeScrub(i)})}},onTogglePlay:{value:function(i){this.playbacks.forEach(function(n){n.onTogglePlay(i)})}},onTimeScrub:{value:function(){this.playbacks.forEach(function(i){i.onTimeScrub()})}},onDataChanged:{value:function(){this.playbacks.forEach(function(i){i.onDataChanged()})}},rebuild:{value:function(){var i=this;this.playbacks.forEach(function(i){i.dispose()}),this.playbacks=[],this.map={};var n=this.model.getLayersOfType("Audio Event");n.forEach(function(n){n.visible&&!n.locked&&(i.map[n.id]=[],n.keyframes.forEach(function(e){if(e.value.AudioEvent.file&&e.value.AudioEvent.file.length>0){var t=new o(i.model,i.root,e);i.playbacks.push(t),i.map[n.id][e.time]=t}}))})}},onPropsChanged:{value:function(){this.rebuild()}},dispose:{value:function(){this.playbacks.forEach(function(i){i.dispose()}),this.model.removeListener("ondatachanged",this.onDataChangedBind),this.model.removeListener("toggle-play",this.onTogglePlayBind),this.model.removeListener("toggle-time-scrub",this.onToggleTimeScrubBind),this.model.removeListener("time-scrub",this.onTimeScrubBind),this.playbacks=[]}}}),i}();module.exports=t; |