UNPKG

ez-web-audio

Version:

Making the Web Audio API super EZ since 2024.

81 lines 2.76 kB
import { DebugMessage } from './messages'; export type { DebugMessage }; export { formatDebugMessage } from './messages'; /** * Enable or disable global debug mode. * * When enabled, all sounds will log lifecycle events (play, stop, end), * connection changes, and warnings (like suspended AudioContext). * * @param enabled - Whether to enable debug mode * * @example * setDebugMode(true) * await sound.play() // Logs: [ez-audio:event] [0.000] mySound: play */ export declare function setDebugMode(enabled: boolean): void; /** * Set a custom debug handler. * * Pass null to restore the default console.log handler. * * @param handler - Custom handler function, or null for default * * @example * const messages: DebugMessage[] = [] * setDebugHandler((msg) => messages.push(msg)) * // ... run code ... * console.log(messages) // All debug messages captured */ export declare function setDebugHandler(handler: ((msg: DebugMessage) => void) | null): void; /** * Interface for objects that can be logged (Sound, Oscillator, etc.) */ export interface DebugSource { name?: string; debug?: boolean; } /** * Main logging function - short-circuits immediately when debug disabled. * * @param source - The sound or object emitting the message * @param message - The debug message (without source, which is derived) * * @example * debugLog(this, { * type: 'event', * message: 'play', * timestamp: audioContext.currentTime * }) */ export declare function debugLog(source: DebugSource, message: Omit<DebugMessage, 'source'> & { source?: string; }): void; /** * Log a lifecycle event (play, stop, end). * * @param source - The sound emitting the event * @param event - Event name (play, stop, end) * @param timestamp - audioContext.currentTime * @param details - Optional additional details */ export declare function debugEvent(source: DebugSource, event: string, timestamp: number, details?: Record<string, unknown>): void; /** * Log a connection chain change. * * @param source - The sound with changed connections * @param message - Description of the change * @param timestamp - audioContext.currentTime * @param details - Optional additional details */ export declare function debugConnection(source: DebugSource, message: string, timestamp: number, details?: Record<string, unknown>): void; /** * Log a warning (suspended AudioContext, etc.). * * @param source - The sound with the warning * @param message - Warning message * @param timestamp - audioContext.currentTime * @param details - Optional additional details */ export declare function debugWarning(source: DebugSource, message: string, timestamp: number, details?: Record<string, unknown>): void; //# sourceMappingURL=index.d.ts.map