Files
2026-05-27 23:47:53 +01:00
..
2026-05-27 23:47:53 +01:00
2026-05-27 23:47:53 +01:00
2026-05-27 23:47:53 +01:00
2026-05-27 23:47:53 +01:00
2026-05-27 23:47:53 +01:00
2026-05-27 23:47:53 +01:00
2026-05-27 23:47:53 +01:00
2026-05-27 23:47:53 +01:00
2026-05-27 23:47:53 +01:00

@suaveplan/audio-ir-room-plugin-pool - Original audio-ir content package: ships the outdoor-swimming-pool room impulse response paired with a https CDN fallback. Universal.

Original audio-ir content package. Ships a single room-family impulse response — pool-outdoor-swimming-pool — sourced from the outdoor-swimming-pool capture in the Suaveplan internal media library, paired with a CDN fallback at https://swch.b-cdn.net/_/audio/ir/room/roompool.wav.

Universal; no browser, DOM, or Node-specific APIs in the public surface. The shipped bundle plugin uses import.meta.url to locate the in-tarball files/ directory at runtime.

Documentation tree

  • manifest — Declares the lone IrManifestEntry shipped by @suaveplan/audio-ir-room-plugin-pool. The entry's uri is a `fallback…
    • manifest — Declares the lone IrManifestEntry shipped by @suaveplan/audio-ir-room-plugin-pool. The entry's uri is a `fallback…
  • register — Single entry point for plugging @suaveplan/audio-ir-room-plugin-pool into a consumer's IrRegistry + `StorageUriReso…
    • register — Single entry point for plugging @suaveplan/audio-ir-room-plugin-pool into a consumer's IrRegistry + `StorageUriReso…

Modules

  • ./manifest — manifest: IrManifest, plus the canonical constants (BUNDLE_PACKAGE_SLUG, BUNDLE_URI, CDN_URI, ENTRY_ID, CHANNELS, SAMPLE_RATE).
  • ./register — register(registry, target, options?) and the re-exported MutableUriPluginRegistrar type (sourced from @suaveplan/audio-ir-core). Wires the bundle plugin onto a consumer-supplied registrar and calls registerManifest.

Quick start

import {
    createIrRegistry,
    createUriPluginCollector,
} from "@suaveplan/audio-ir-core";
import { createIrLoader } from "@suaveplan/audio-ir-loader";
import { decodeWav } from "@suaveplan/audio-decode-wav";
import { createStorageUriResolver } from "@suaveplan/storage-uri";
import { fallbackUriPlugin } from "@suaveplan/storage-uri-plugin-fallback";
import { register } from "@suaveplan/audio-ir-room-plugin-pool";

const registry = createIrRegistry();
const collector = createUriPluginCollector();
register(registry, collector);

// Append the consumer's https://-aware plugin via collector.use(...).
const innerPlugins = [...collector.plugins];
const innerResolver = createStorageUriResolver(innerPlugins);
const fb = fallbackUriPlugin({
    resolver: innerResolver,
    policy: { errorClass: "any" },
});
const resolver = createStorageUriResolver([...innerPlugins, fb]);

const loader = createIrLoader({
    registry,
    resolver,
    decoders: { wav: decodeWav },
});
const ir = await loader.load("pool-outdoor-swimming-pool");

License & sources

The bundled WAV (files/outdoor-swimming-pool.wav) was copied from the Suaveplan internal media library at /mnt/c/Users/Administrator/Mountain Duck/74a17879-9780-426d-8bd9-7ed805f53d41/media/_/audio/ir/room/outdoor-swimming-pool.wav. The CDN copy lives at https://swch.b-cdn.net/_/audio/ir/room/roompool.wav.

License: All Rights Reserved — Suaveplan internal media library. Do not redistribute the bundled WAV outside Suaveplan distributions.