Skip to content

Releases: iomatix/-SCPSL-AudioManagerAPI

Dependency .DLL - 2.0.2

08 Mar 13:52

Choose a tag to compare

Exiled:
C:\Users\YOUR_USER_NAME\AppData\Roaming\EXILED\Plugins\dependencies

LabAPI:
C:\Users\YOUR_USER_NAME\AppData\Roaming\SCP Secret Laboratory\LabAPI\dependencies

Full Changelog: 2.0.1...2.0.2

Dependency .DLL - 2.0.1

08 Mar 12:22

Choose a tag to compare

Exiled:
C:\Users\YOUR_USER_NAME\AppData\Roaming\EXILED\Plugins\dependencies

LabAPI:
C:\Users\YOUR_USER_NAME\AppData\Roaming\SCP Secret Laboratory\LabAPI\dependencies

Full Changelog: 2.0.0...2.0.1

Dependency .DLL - 2.0

08 Mar 11:39

Choose a tag to compare

Exiled:
C:\Users\YOUR_USER_NAME\AppData\Roaming\EXILED\Plugins\dependencies

LabAPI:
C:\Users\YOUR_USER_NAME\AppData\Roaming\SCP Secret Laboratory\LabAPI\dependencies

What's New in Version 2.0

  • Session-Based Architecture: Replaced physical hardware IDs (byte) with abstract Session IDs (int), creating a robust routing layer between plugin logic and LabAPI hardware.
  • Hardware Eviction & Recovery: Implemented a dynamic pooling system that safely evicts lower-priority speakers when the 254 physical limit is reached, seamlessly preserving the virtual session state.
  • Zero-Allocation Filters: Redesigned AudioFilters to evaluate dynamically without memory allocations, preventing Garbage Collection (GC) spikes during high-frequency server ticks.
  • Non-Blocking AudioCache: Upgraded the caching system to perform stream I/O operations outside the main lock, preventing server thread freezes during lazy loading.
  • Robust RIFF/WAV Parsing: Replaced hardcoded byte skipping with a proper chunk scanner that reliably finds the data block, preventing white-noise playback from DAW metadata.
  • Fault-Tolerant Configuration: AudioConfigLoader now utilizes absolute server paths and safely falls back to defaults without crashing if AudioConfig.json is corrupted.
  • API Cleanup: Reorganized ISpeaker interfaces to naturally include volume, distance, and spatialization properties, eliminating unsafe type casting across the library.

Full Changelog: 1.9.0...2.0.0

Dependency .DLL - 1.9.0

27 Feb 09:40

Choose a tag to compare

Exiled:
C:\Users\YOUR_USER_NAME\AppData\Roaming\EXILED\Plugins\dependencies

LabAPI:
C:\Users\YOUR_USER_NAME\AppData\Roaming\SCP Secret Laboratory\LabAPI\dependencies

What's New in Version 1.9.0

  • Updated dependency libraries to provide compatibility with the newest SCP:SL version (FEB 2026).

Full Changelog: 1.8.0...1.9.0

Dependency .DLL - 1.8.0

26 Sep 19:09
85d82b7

Choose a tag to compare

Exiled: C:\Users\YOUR_USER_NAME\AppData\Roaming\EXILED\Plugins\dependencies
LabAPI: C:\Users\YOUR_USER_NAME\AppData\Roaming\SCP Secret Laboratory\LabAPI\dependencies

What's New in Version 1.8.0

  • Updated compatibility for the newest version of the SCP:SL Lab API (northwood.labapi.1.1.3)

Dependency .DLL - 1.7.0

28 Jul 17:07

Choose a tag to compare

Exiled: C:\Users\YOUR_USER_NAME\AppData\Roaming\EXILED\Plugins\dependencies
LabAPI: C:\Users\YOUR_USER_NAME\AppData\Roaming\SCP Secret Laboratory\LabAPI\dependencies

⚠️ Warning
Version 1.7.0 introduces breaking changes. DefaultAudioManager is now initialized automatically via AudioConfig.json using System.Text.Json. Manual initialization (e.g., RegisterDefaults) is no longer supported. Update your plugins to use DefaultAudioManager.Instance directly.

What's New in Version 1.7.0

  • Automatic Initialization: DefaultAudioManager.Instance is lazily initialized on first access using settings from Configs/AudioConfig.json, eliminating manual setup.
  • Configuration File: Settings like cache size, speaker factory choice, and fade durations are loaded from AudioConfig.json, auto-created with defaults if missing.
  • Thread-Safe Singleton: DefaultAudioManager uses Lazy<IAudioManager> for thread-safe, performant initialization in SCP:SL’s multi-threaded environment.
  • Dependency-Free JSON: Configuration loading now uses System.Text.Json, removing external dependencies like Newtonsoft.Json.
  • Enhanced Thread-Safety: DefaultSpeakerFactory uses ConcurrentDictionary for improved performance and thread-safety in speaker management.

Full Changelog: 1.6.0...1.7.0

Dependency .DLL - 1.6.0

27 Jul 10:07

Choose a tag to compare

Exiled: C:\Users\YOUR_USER_NAME\AppData\Roaming\EXILED\Plugins\dependencies
LabAPI: C:\Users\YOUR_USER_NAME\AppData\Roaming\SCP Secret Laboratory\LabAPI\dependencies

Full Changelog: 1.5.2...1.6.0

Dependency .DLL - 1.5.2

26 Jul 11:28

Choose a tag to compare

Exiled: C:\Users\YOUR_USER_NAME\AppData\Roaming\EXILED\Plugins\dependencies
LabAPI: C:\Users\YOUR_USER_NAME\AppData\Roaming\SCP Secret Laboratory\LabAPI\dependencies

Full Changelog: 1.5.1...1.5.2

Dependency .DLL - 1.5.1

26 Jul 10:58

Choose a tag to compare

Exiled: C:\Users\YOUR_USER_NAME\AppData\Roaming\EXILED\Plugins\dependencies
LabAPI: C:\Users\YOUR_USER_NAME\AppData\Roaming\SCP Secret Laboratory\LabAPI\dependencies

Dependency .DLL - 1.5.0

24 Jul 20:37

Choose a tag to compare

Introduced pre-defined audio filters.

Exiled: C:\Users\YOUR_USER_NAME\AppData\Roaming\EXILED\Plugins\dependencies
LabAPI: C:\Users\YOUR_USER_NAME\AppData\Roaming\SCP Secret Laboratory\LabAPI\dependencies

Full Changelog: 1.4.2...1.5.0