Skip to content

Releases: Axwabo/SecretLabNAudio

more helpers & fixes

07 Apr 09:10

Choose a tag to compare

more helpers & fixes Pre-release
Pre-release

First release candidate of the processors system.

Migrate to v2

beta2 to rc.1 changes

Breaking Changes

  • SpeakerPersonalization no longer automatically synchronizes personalized settings after the speaker's
    sync vars were modified (this change increases TPS)
  • FFmpegSL no longer has a redirectStandardInput parameter, the stdin will now always be redirected1

Additions

  • AudioConstants class (AudioPlayer properties and constants reference this)
  • SpeakerToyGroup.AddPersonalizationToAll extension method
  • SpeakerPersonalization extensions for IEnumerable<SpeakerPersonalization>
  • SpeakerToyGroup.Ungroup method
  • More AudioPlayerPool renting and AudioPlayer creating methods for convenience
  • NextAvailableId and TryGetNextAvailableId in AudioPlayer (delegated to SpeakerToyPool)
  • IsCached CacheIfNotCachedAsync CacheAllNotCachedAsync extension methods for AudioCacheBase

Fixes

  • Fixed some docs
  • The Linux FFmpeg installer now uses the env process
  • SpeakerToyGroupExtensions methods now throw early if the group has been destroyed
  • SimpleFileCache::GetKey now converts the path to a full path
  • Added ConfigureAwait(false) where applicable
  • Fixed indentation in the installation instructions
  • .NET is now attributed

Non-breaking Changes

  • Changed most AudioPlayer references to reference AudioConstants (where possible)
  • FFmpegSL.Stdin is no longer nullable, null checks may be removed
  • Bumped LabAPI to 1.1.6.1

Full Changelog: v2.0.0-beta2...v2.0.0-rc.1

  1. If the standard input isn't redirected, FFmpeg will read from the standard input of the SL process.
    This caused LocalAdmin to hang if FFmpeg prompted for an overwrite confirmation. It even broke the terminal.

FFmpeg caches

01 Apr 07:16

Choose a tag to compare

FFmpeg caches Pre-release
Pre-release

Second beta build of the audio processors system.

Migrate to v2

beta1 to beta2 changes

Fixes

  • Fixed the FFmpeg installer

Additions

  • AudioCacheBase, SimpleFileCache and extension members
  • FFmpegSL.WaitForExitAsync extension method
  • AudioPlayer extensions to use cached files

Full Changelog: v2.0.0-beta1...v2.0.0-beta2

initial FFmpeg support

14 Mar 08:07

Choose a tag to compare

Pre-release

First beta build of the audio processors system, now with basic FFmpeg support (short clip reading, live playback).

Migrate to v2

alpha5 to beta1 changes

Additions

  • ClipName.FromPath method
  • SecretLabNAudio.FFmpeg module
    • Extensions for the ShortClipCache to read clips with FFmpeg
    • Extensions for the AudioPlayer class to use FFmpeg
    • FFmpeg-based audio processors
      • AsyncBufferedFFmpegAudioProcessor
      • StreamBasedFFmpegAudioProcessor
      • SynchronousFFmpegAudioProcessor
    • FFmpeg installer
    • The module is included in the full SecretLabNAudio assembly

Fixes

  • Fixed the embedded System.ValueTuple reference
  • Fixed some docs

Changes (non-breaking)

  • Updated ATTRIBUTIONS.md
  • Moved some properties to Directory.Build.props
  • Changed AsSpan() slicing to use the AsSpan(int, int) method

Full Changelog: v2.0.0-alpha5...v2.0.0-beta1

AudioPlayer.Ended event

21 Feb 14:20

Choose a tag to compare

Pre-release

Fifth alpha build for the processors system. It's highly recommended to migrate to processors to avoid resource management issues.

Migrate to v2

alpha4 to alpha5 changes

Additions

  • Added an Ended event to AudioPlayer

Changes (non-brekaing)

  • PoolOnEnd and DestroyOnEnd now use the Ended event instead of NoSamplesRead
  • AudioPlayer will no longer fail to continue reading if an event handler throws an exception

alpha1 to alpha2 changes

Should you have any suggestions, feel free to comment on the pull request.

Changes: #1

Full Changelog: v1.0.2...v2.0.0-alpha5

StreamAudioProcessor.FilePath

08 Feb 12:01

Choose a tag to compare

Pre-release

Fourth alpha build for the processors system. It's highly recommended to migrate to processors to avoid resource management issues.

Migrate to v2

alpha3 to alpha4 changes

Fixes

  • Fixed some docs

Additions

  • StreamAudioProcessor now has a FilePath property, which is automatically set by (Try)CreateAudioProcessor

alpha1 to alpha2 changes

Should you have any suggestions, feel free to comment on the pull request.

Changes: #1

Full Changelog: v1.0.2...v2.0.0-alpha4

mix hotfix

07 Feb 17:40

Choose a tag to compare

mix hotfix Pre-release
Pre-release

Third alpha build for the processors system. It's highly recommended to migrate to processors to avoid resource management issues.

Migrate to v2

Fixes

  • Fixed an oversight in UseMixer that caused the current input to be disposed while it was being used

alpha1 to alpha2 changes

Should you have any suggestions, feel free to comment on the pull request.

Changes: #1

Full Changelog: v1.0.2...v2.0.0-alpha3

speaker groups

07 Feb 17:03

Choose a tag to compare

speaker groups Pre-release
Pre-release

Second alpha build for the processors system. It's highly recommended to migrate to processors to avoid resource management issues.

Migrate to v2

alpha1 to alpha2 changes

Changes (breaking)

  • Short clip mixing methods now accept a ClipName

Fixes

  • Owned providers will now be disposed immediately if they are not compatible when adding to a Mixer or AudioQueue
  • Fixed some docs
  • Added Unity lifetime checks to some methods
  • Removed all XML doc include tags with a path

Changes (non-breaking)

  • Bumped LabAPI to 1.1.5
  • Improved XML docs regarding exceptions

Additions

  • Queueing methods for AudioPlayers and the AudioQueue
  • DestroySafe extension method for SpeakerToys
  • ClipName struct
  • ClipName overloads in ShortClipCache
  • SpeakerToyGroup and related extension members
  • IsPooled methods in pool classes

Should you have any suggestions, feel free to comment on the pull request.

Changes: #1

Full Changelog: v1.0.2...v2.0.0-alpha2

v2 "processors" first alpha

05 Jan 06:58

Choose a tag to compare

Pre-release

First alpha build for the processors system. It's highly recommended to migrate to processors to avoid resource management issues.

Changes and a draft of the migration guide can be viewed here: #1

Should you have any suggestions, feel free to comment on the pull request.

Full Changelog: v1.0.2...v2.0.0-alpha1

14.1.4(.1?)

17 Sep 19:48

Choose a tag to compare

Changes (non-breaking):

  • Exceptions thrown by the SampleProvider are now logged to LocalAdmin logs and the state is treated as if no samples were read
  • Removed the 0-1 volume range notices in XML docs, as SpeakerToys' volume can now be set to any float value
  • Changed the build process to use central package management

more send engines

03 Sep 15:39

Choose a tag to compare

Additions:

  • AudioPlayer.MasterAmplification property (and corresponding extension method)
  • VoiceMessageSendEngine

Changes (non-breaking):

  • Extracted a superclass from LivePersonalizedSendEngine - new PersonalizedSendEngineBase abstract class that requires a Personalize method
  • The new superclass now exposes the BaseEngine and Personalization properties
  • The RemoveMixerInputsByName method now also takes LoopingRawSampleProviders into account