define("soundManagerApi", ["componentmodelComponentApi", "clientkernelEventbusApi"],
    function(componentmodelComponentApi, clientkernelEventbusApi) {
        "use strict";

        function $iterator(o) {
            if (o instanceof Array) return function() {
                return {
                    cur: 0,
                    arr: o,
                    hasNext: function() {
                        return this.cur < this.arr.length;
                    },
                    next: function() {
                        return this.arr[this.cur++];
                    }
                };
            };
            return typeof(o.iterator) == 'function' ? $bind(o, o.iterator) : o.iterator;
        };;
        var $fid = 0;

        function $bind(o, m) {
            if (m == null) return null;
            if (m.__id__ == null) m.__id__ = $fid++;
            var f;
            if (o.hx__closures__ == null) o.hx__closures__ = {};
            else f = o.hx__closures__[m.__id__];
            if (f == null) {
                f = function() {
                    return f.method.apply(f.scope, arguments);
                };
                f.scope = o;
                f.method = m;
                o.hx__closures__[m.__id__] = f;
            }
            return f;
        };
        var $_;
        var $estr = function() {
            return _hcmn_.js_Boot.__string_rec(this, '');
        };
        if (typeof haxe == 'undefined') {
            var haxe = {};
        };

        haxe.IMap = function() {}
        haxe.IMap.prototype = {

        };
        if (typeof soundManagerApi == 'undefined') {
            var soundManagerApi = {};
        };
        soundManagerApi.SoundManagerDeclaration = function() {};
        soundManagerApi.SoundManagerDeclaration = ck_implements(soundManagerApi.SoundManagerDeclaration, componentmodelComponentApi.IComponentDeclaration);
        soundManagerApi.SoundManagerDeclaration.__interfaces__ = [componentmodelComponentApi.IComponentDeclaration];
        soundManagerApi.SoundManagerDeclaration.__name__ = ["soundManagerApi", "SoundManagerDeclaration"];
        soundManagerApi.SoundManagerDeclaration.prototype.getChildComponents = function() {
            return null;
        };
        soundManagerApi.SoundManagerDeclaration.prototype.getReferredComponents = function() {
            return null;
        };
        soundManagerApi.SoundManagerDeclaration.prototype.getImplementedPorts = function() {
            return [soundManagerApi.ISoundManagerImplementationPort];
        };
        soundManagerApi.SoundManagerDeclaration.prototype.getUsedPorts = function() {
            return [];
        };
        soundManagerApi.SoundManagerDeclaration.prototype.__class__ = soundManagerApi.SoundManagerDeclaration;

        soundManagerApi.ISoundManagerImplementationPort = function() {}
        soundManagerApi.ISoundManagerImplementationPort.prototype = {

            play: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            stop: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            fadeIn: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            fadeOut: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            mute: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            unmute: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            muteAll: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            unmuteAll: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            pause: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            volume: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            rate: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            onPlay: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            onStop: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            onPause: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            onFinish: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            onFade: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            onMute: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            onRate: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };

        soundManagerApi.ISoundManagerPort = function() {}
        soundManagerApi.ISoundManagerPort.prototype = {

            play: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            stop: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            fadeIn: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            fadeOut: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            mute: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            unmute: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            muteAll: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            unmuteAll: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            pause: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            volume: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            rate: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            onPlay: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            onStop: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            onPause: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            onFinish: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            onFade: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            onMute: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            onRate: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };
        soundManagerApi.SoundManagerPort = function(bus) {
            this.onRateAction = new clientkernelEventbusApi.Topic("soundplayer:onRate");
            this.onMuteAction = new clientkernelEventbusApi.Topic("soundplayer:onMute");
            this.onFinishAction = new clientkernelEventbusApi.Topic("soundplayer:onFinish");
            this.onFadeAction = new clientkernelEventbusApi.Topic("soundplayer:onFade");
            this.onPauseAction = new clientkernelEventbusApi.Topic("soundplayer:onPause");
            this.onStopAction = new clientkernelEventbusApi.Topic("soundplayer:onStop");
            this.onPlayAction = new clientkernelEventbusApi.Topic("soundplayer:onPlay");
            this.rateAction = new clientkernelEventbusApi.Topic("soundplayer:rate");
            this.volumeAction = new clientkernelEventbusApi.Topic("soundplayer:volume");
            this.pauseAction = new clientkernelEventbusApi.Topic("soundplayer:pause");
            this.unmuteAllAction = new clientkernelEventbusApi.Topic("soundplayer:unmuteAll");
            this.muteAllAction = new clientkernelEventbusApi.Topic("soundplayer:muteAll");
            this.unmuteAction = new clientkernelEventbusApi.Topic("soundplayer:unmute");
            this.muteAction = new clientkernelEventbusApi.Topic("soundplayer:mute");
            this.fadeOutAction = new clientkernelEventbusApi.Topic("soundplayer:fadeOut");
            this.fadeInAction = new clientkernelEventbusApi.Topic("soundplayer:fadeIn");
            this.stopAction = new clientkernelEventbusApi.Topic("soundplayer:stop");
            this.playAction = new clientkernelEventbusApi.Topic("soundplayer:play");
            this.playAction.connect(bus);
            this.stopAction.connect(bus);
            this.fadeInAction.connect(bus);
            this.fadeOutAction.connect(bus);
            this.muteAction.connect(bus);
            this.unmuteAction.connect(bus);
            this.muteAllAction.connect(bus);
            this.unmuteAllAction.connect(bus);
            this.pauseAction.connect(bus);
            this.volumeAction.connect(bus);
            this.rateAction.connect(bus);
            this.onPlayAction.connect(bus);
            this.onStopAction.connect(bus);
            this.onPauseAction.connect(bus);
            this.onFadeAction.connect(bus);
            this.onFinishAction.connect(bus);
            this.onMuteAction.connect(bus);
            this.onRateAction.connect(bus);
        };
        soundManagerApi.SoundManagerPort = ck_implements(soundManagerApi.SoundManagerPort, soundManagerApi.ISoundManagerPort);
        soundManagerApi.SoundManagerPort = ck_implements(soundManagerApi.SoundManagerPort, soundManagerApi.ISoundManagerImplementationPort);
        soundManagerApi.SoundManagerPort.__interfaces__ = [soundManagerApi.ISoundManagerPort, soundManagerApi.ISoundManagerImplementationPort];
        soundManagerApi.SoundManagerPort.__name__ = ["soundManagerApi", "SoundManagerPort"];
        soundManagerApi.SoundManagerPort.prototype.playAction = null;
        soundManagerApi.SoundManagerPort.prototype.stopAction = null;
        soundManagerApi.SoundManagerPort.prototype.fadeInAction = null;
        soundManagerApi.SoundManagerPort.prototype.fadeOutAction = null;
        soundManagerApi.SoundManagerPort.prototype.muteAction = null;
        soundManagerApi.SoundManagerPort.prototype.unmuteAction = null;
        soundManagerApi.SoundManagerPort.prototype.muteAllAction = null;
        soundManagerApi.SoundManagerPort.prototype.unmuteAllAction = null;
        soundManagerApi.SoundManagerPort.prototype.pauseAction = null;
        soundManagerApi.SoundManagerPort.prototype.volumeAction = null;
        soundManagerApi.SoundManagerPort.prototype.rateAction = null;
        soundManagerApi.SoundManagerPort.prototype.onPlayAction = null;
        soundManagerApi.SoundManagerPort.prototype.onStopAction = null;
        soundManagerApi.SoundManagerPort.prototype.onPauseAction = null;
        soundManagerApi.SoundManagerPort.prototype.onFadeAction = null;
        soundManagerApi.SoundManagerPort.prototype.onFinishAction = null;
        soundManagerApi.SoundManagerPort.prototype.onMuteAction = null;
        soundManagerApi.SoundManagerPort.prototype.onRateAction = null;
        soundManagerApi.SoundManagerPort.prototype.play = function() {
            return this.playAction;
        };
        soundManagerApi.SoundManagerPort.prototype.stop = function() {
            return this.stopAction;
        };
        soundManagerApi.SoundManagerPort.prototype.fadeIn = function() {
            return this.fadeInAction;
        };
        soundManagerApi.SoundManagerPort.prototype.fadeOut = function() {
            return this.fadeOutAction;
        };
        soundManagerApi.SoundManagerPort.prototype.mute = function() {
            return this.muteAction;
        };
        soundManagerApi.SoundManagerPort.prototype.unmute = function() {
            return this.unmuteAction;
        };
        soundManagerApi.SoundManagerPort.prototype.muteAll = function() {
            return this.muteAllAction;
        };
        soundManagerApi.SoundManagerPort.prototype.unmuteAll = function() {
            return this.unmuteAllAction;
        };
        soundManagerApi.SoundManagerPort.prototype.pause = function() {
            return this.pauseAction;
        };
        soundManagerApi.SoundManagerPort.prototype.rate = function() {
            return this.rateAction;
        };
        soundManagerApi.SoundManagerPort.prototype.volume = function() {
            return this.volumeAction;
        };
        soundManagerApi.SoundManagerPort.prototype.onPlay = function() {
            return this.onPlayAction;
        };
        soundManagerApi.SoundManagerPort.prototype.onStop = function() {
            return this.onStopAction;
        };
        soundManagerApi.SoundManagerPort.prototype.onPause = function() {
            return this.onPauseAction;
        };
        soundManagerApi.SoundManagerPort.prototype.onFade = function() {
            return this.onFadeAction;
        };
        soundManagerApi.SoundManagerPort.prototype.onFinish = function() {
            return this.onFinishAction;
        };
        soundManagerApi.SoundManagerPort.prototype.onMute = function() {
            return this.onMuteAction;
        };
        soundManagerApi.SoundManagerPort.prototype.onRate = function() {
            return this.onRateAction;
        };
        soundManagerApi.SoundManagerPort.prototype.__class__ = soundManagerApi.SoundManagerPort;
        soundManagerApi.SoundManagerPortFactory = function() {};
        soundManagerApi.SoundManagerPortFactory = ck_implements(soundManagerApi.SoundManagerPortFactory, componentmodelComponentApi.IPortFactory);
        soundManagerApi.SoundManagerPortFactory.__interfaces__ = [componentmodelComponentApi.IPortFactory];
        soundManagerApi.SoundManagerPortFactory.__name__ = ["soundManagerApi", "SoundManagerPortFactory"];
        soundManagerApi.SoundManagerPortFactory.prototype.provide = function(channel) {
            return new soundManagerApi.SoundManagerPort(channel);
        };
        soundManagerApi.SoundManagerPortFactory.prototype["use"] = function(channel) {
            return new soundManagerApi.SoundManagerPort(channel);
        };
        soundManagerApi.SoundManagerPortFactory.prototype.__class__ = soundManagerApi.SoundManagerPortFactory;
        soundManagerApi.SoundActionProperties = function(soundId, length) {
            this.soundId = soundId;
            this.length = length;
        };
        soundManagerApi.SoundActionProperties.__name__ = ["soundManagerApi", "SoundActionProperties"];
        soundManagerApi.SoundActionProperties.prototype.soundId = null;
        soundManagerApi.SoundActionProperties.prototype.length = null;
        soundManagerApi.SoundActionProperties.prototype.__class__ = soundManagerApi.SoundActionProperties;
        soundManagerApi.SoundFadeData = function(soundId, fade) {
            this.soundId = soundId;
            this.fade = fade;
        };
        soundManagerApi.SoundFadeData.__name__ = ["soundManagerApi", "SoundFadeData"];
        soundManagerApi.SoundFadeData.prototype.soundId = null;
        soundManagerApi.SoundFadeData.prototype.fade = null;
        soundManagerApi.SoundFadeData.prototype.__class__ = soundManagerApi.SoundFadeData;
        soundManagerApi.SoundRateData = function(soundId, rate) {
            this.soundId = soundId;
            this.rate = rate;
        };
        soundManagerApi.SoundRateData.__name__ = ["soundManagerApi", "SoundRateData"];
        soundManagerApi.SoundRateData.prototype.soundId = null;
        soundManagerApi.SoundRateData.prototype.rate = null;
        soundManagerApi.SoundRateData.prototype.__class__ = soundManagerApi.SoundRateData;
        soundManagerApi.SoundVolumeData = function(soundId, volume) {
            this.soundId = soundId;
            this.volume = volume;
        };
        soundManagerApi.SoundVolumeData.__name__ = ["soundManagerApi", "SoundVolumeData"];
        soundManagerApi.SoundVolumeData.prototype.soundId = null;
        soundManagerApi.SoundVolumeData.prototype.volume = null;
        soundManagerApi.SoundVolumeData.prototype.__class__ = soundManagerApi.SoundVolumeData;
        return {
            exports: soundManagerApi
        };
    });
//# sourceURL=soundManagerApi.js