From cee207ca0ff5950fefcc5d583caceffe0d197585 Mon Sep 17 00:00:00 2001 From: Erik Onarheim Date: Wed, 23 Sep 2026 19:40:41 -0500 Subject: [PATCH] update to null --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bdfdfb8b..28d45530 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -55,7 +55,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). ``` - `Sound.pitch` (and `sound.play({ pitch })`) shifts pitch in cents via `AudioBufferSourceNode.detune`. - `Sound.maxConcurrentTracks` and `SoundManager.maxConcurrentTracks` cap the number of simultaneously playing tracks, dropping new plays (which resolve to `false`) once reached. `Sound.playingCount()` and `SoundManager.playingCount()` report the current number. -- `Sound.start(options?)` plays like `play()` but returns the `SoundTrack` synchronously (or `undefined` if dropped) so a single playback can be stopped, seeked or adjusted; `track.done` resolves when it finishes. `SoundManager.start(name, options?)` does the same for managed sounds, and every `SoundTrack` has a `volume` and a monotonically increasing `id`. +- `Sound.start(options?)` plays like `play()` but returns the `SoundTrack` synchronously (or `null` if dropped) so a single playback can be stopped, seeked or adjusted; `track.done` resolves when it finishes. `SoundManager.start(name, options?)` does the same for managed sounds, and every `SoundTrack` has a `volume` and a monotonically increasing `id`. - `SoundManager` channels can be configured with `{ name, volume, maxConcurrentTracks, onConnect }` in `channels`, adding a per-channel cap on simultaneously playing tracks alongside the manager-wide `maxConcurrentTracks`. With `voiceStealing: true` a cap stops the oldest playing track in that scope instead of dropping the new play. - `onConnect` lifecycle hooks on `SoundManager` options and channel configs receive `{ audioContext, input, output }` when the bus is created, to insert effects for a whole channel or the master output (for example a compressor), and `SoundManager.input` exposes the master bus input. - `SoundManager` is `Loadable`: `loader.addResource(manager)` loads (and wires to the engine) every sound it manages, including sounds tracked later. -- 2.51.2