/// var AudioPlayr; (function (AudioPlayr_1) { "use strict"; /** * An audio library to automate preloading and controlled playback of multiple * audio tracks, with support for different browsers' preferred file types. */ var AudioPlayr = (function () { /** * Initializes a new instance of the AudioPlayr class. * * @param settings Settings to use for initialization. */ function AudioPlayr(settings) { var volumeInitial; if (typeof settings.library === "undefined") { throw new Error("No library given to AudioPlayr."); } if (typeof settings.directory === "undefined") { throw new Error("No directory given to AudioPlayr."); } if (typeof settings.fileTypes === "undefined") { throw new Error("No fileTypes given to AudioPlayr."); } if (!settings.ItemsHolder) { throw new Error("No ItemsHoldr given to AudioPlayr."); } this.ItemsHolder = settings.ItemsHolder; this.directory = settings.directory; this.fileTypes = settings.fileTypes; this.getThemeDefault = settings.getThemeDefault || "Theme"; this.getVolumeLocal = typeof settings.getVolumeLocal === "undefined" ? 1 : settings.getVolumeLocal; // Sounds should always start blank this.sounds = {}; // Preload everything! this.generateLibraryFromSettings(settings.library); volumeInitial = this.ItemsHolder.getItem("volume"); if (volumeInitial === undefined) { this.setVolume(1); } else { this.setVolume(this.ItemsHolder.getItem("volume")); } this.setMuted(this.ItemsHolder.getItem("muted") || false); } /* Simple getters */ /** * @returns The listing of