AbstractProtectedsongsRegistered audio elements keyed by name. Subclasses read this; mutate via register.
Whether playback is permitted. Setting to false invokes stop immediately.
Load and register one or more audio files. Each entry may be a bare URL string (the file's basename becomes the name) or a RegisterData object. Per-song volume falls back to defaultVolume. Call once per instance — throws on a second invocation, on non-finite volume, or on volume outside [0, 1]. Load failures are logged to console.error but don't throw.
Shared registration, enable/disable, and teardown machinery for Sound and Music. Auto-subscribes to the
"gameloopStopped"event so playback halts on loop teardown.