diff --git a/howlerjs/howler-tests.ts b/howlerjs/howler-tests.ts index aff0df926..c358f8e3b 100644 --- a/howlerjs/howler-tests.ts +++ b/howlerjs/howler-tests.ts @@ -4,6 +4,10 @@ */ /// +import * as howler from "howler"; + +howler.Howler = Howler; +howler.Howl = Howl; Howler.codecs('ogg'); Howler.iOSAutoEnable = true; @@ -32,4 +36,4 @@ var sound = new Howl({ }); // shoot the laser! -sound.play('laser'); \ No newline at end of file +sound.play('laser'); diff --git a/howlerjs/howler.d.ts b/howlerjs/howler.d.ts index 577c9fd78..b1265dc6b 100644 --- a/howlerjs/howler.d.ts +++ b/howlerjs/howler.d.ts @@ -1,9 +1,8 @@ -// Type definitions for howler.js v1.1.25 +// Type definitions for howler.js v1.1.29 // Project: https://github.com/goldfire/howler.js // Definitions by: Pedro Casaubon // Definitions: https://github.com/borisyankov/DefinitelyTyped - declare class HowlerGlobal { mute(): HowlerGlobal; unmute(): HowlerGlobal; @@ -15,13 +14,10 @@ declare class HowlerGlobal { declare var Howler: HowlerGlobal; - -interface IHowlCallback { - (): void; -} interface IHowlSoundSpriteDefinition { - [name: string]: number[] + [name: string]: number[]; } + interface IHowlProperties { autoplay?: boolean; buffer?: boolean; @@ -30,33 +26,32 @@ interface IHowlProperties { sprite?: IHowlSoundSpriteDefinition; volume?: number; urls?: string[]; - onend?: IHowlCallback; - onload?: IHowlCallback; - onloaderror?: IHowlCallback; - onpause?: IHowlCallback; - onplay?: IHowlCallback; + onend?: Function; + onload?: Function; + onloaderror?: Function; + onpause?: Function; + onplay?: Function; } - -declare class Howl { - +interface Howl { autoplay: Boolean; buffer: Boolean; format: string; rate: number; model: string; - onend: IHowlCallback; - onload: IHowlCallback; - onloaderror: IHowlCallback; - onpause: IHowlCallback; - onplay: IHowlCallback; - constructor(properties: IHowlProperties); + onend: Function; + onload: Function; + onloaderror: Function; + onpause: Function; + onplay: Function; + load(): Howl; play(sprite?: string, callback?: (soundId: number) => void): Howl; + play(callback?: (soundId: number) => void): Howl; pause(soundId?: number): Howl; stop(soundId?: number): Howl; mute(soundId?: number): Howl; unmute(soundId?: number): Howl; - fade(from: number, to: number, duration: number, callback?: IHowlCallback, soundId?: number): Howl; + fade(from: number, to: number, duration: number, callback?: Function, soundId?: number): Howl; loop(): boolean; loop(loop: boolean): Howl; pos(position?: number, soundId?: number): number; @@ -66,8 +61,18 @@ declare class Howl { volume(volume?: number, soundId?: number): Howl; urls(): string[]; urls(urls: string[]): Howl; - on(event: string, listener?: () => void): Howl; - off(event: string, listener?: () => void): Howl; + on(event: string, listener?: Function): Howl; + off(event: string, listener?: Function): Howl; unload(): void; } +interface HowlStatic { + new (properties: IHowlProperties): Howl; +} + +declare let Howl: HowlStatic; + +declare module "howler" { + export let Howler: HowlerGlobal; + export let Howl: HowlStatic; +}