5.2 KiB
Breaking Changes
This list contains notable changes that may break compatibility with previous versions (public API only). Non-breaking changes (e.g. new features) are not listed here.
The dates below are given as YYYY.MM.DD.
-
2024.06.25 (a8a66f6):
aura.dsp.panner.Panner.dopplerFactor
was renamed toaura.dsp.panner.Panner.dopplerStrength
. -
2024.01.22 (f7dff6e):
Previously, if loading an asset with
aura.Aura.loadAssets()
failed, Aura would sometimes continue loading other assets and in other cases stop loading assets of the same type after the first failure, which was rather unintuitive. Now, Aura always continues to load other assets even if an asset could not be loaded. -
2024.01.14 (
47d4426
):The
aura.format.mhr.MHRReader
class is no longer meant to be instantiated, instead it is used statically now:final mhrReader = new aura.format.mhr.MHRReader(mhrBlobBytes); final hrtf = mhrReader.read(); // becomes final hrtf = aura.format.mhr.MHRReader.read(mhrBlobBytes);
-
2023.04.29 (
8c1da0b
):This commit introduced multiple compatibility-breaking changes:
-
aura.Handle
is nowaura.Aura.BaseChannelHandle
(a convenience typedef foraura.channels.BaseChannel.BaseChannelHandle
). -
aura.MixChannelHandle
is nowaura.Aura.MixChannelHandle
(a convenience typedef foraura.channels.MixChannel.MixChannelHandle
). -
Aura.createHandle()
was replaced withAura.createUncompBufferChannel()
as well asAura.createCompBufferChannel()
, depending on the first parameter ofcreateHandle()
that is now obsolete:Aura.createHandle(Play, mySound, loop, mixChannelHandle); // becomes Aura.createUncompBufferChannel(mySound, loop, mixChannelHandle); // and Aura.createHandle(Stream, mySound, loop, mixChannelHandle); // becomes Aura.createCompBufferChannel(mySound, loop, mixChannelHandle);
This change is more or less reverting
0576c1f
and is introduced as part of adding more handle types to distinguish different channel features. Now,Aura.createUncompBufferChannel()
returnsNull<UncompBufferChannelHandle>
(UncompBufferChannelHandle
is a new type introduced by this commit) andAura.createCompBufferChannel()
returns the unspecializedNull<BaseChannelHandle>
. This type-safe compile-time handling of handle types prevents the user from having to cast a returned handle to a specific handle type to get access to the complete functionality of a handle, which would have been required ifAura.createHandle()
was still used to create handles (thus, abstraction leaking is minimized).
-
-
2022.11.21 (
db8902c
):The way channels are connected to mix channels was changed:
final myMixChannel: aura.MixChannelHandle = Aura.createMixChannel(); final myInputChannnel: aura.Handle = Aura.createHandle(...); myMixChannel.removeInputChannel(myInputChannel); // becomes myInputChannel.setMixChannel(null); // and myMixChannel.addInputChannel(myInputChannel); // becomes myInputChannel.setMixChannel(myMixChannel);
-
2022.09.03 (
3feb4ee
):Stereo panning was moved out of the
aura.Handle
class to be completely inside theauda.dsp.panner.StereoPanner
where it actually belongs. This lays the groundwork for upcoming changes to theStereoPanner
and potentially different channel formats in the future. -
2022.07.18 (
4386c3d
):Aura.dsp.Filter.Channels
was replaced with the newaura.Types.Channels
abstract.Channels.Both
is nowChannels.All
(Aura currently only supports stereo channels) andChannels.toLeft()
/Channels.toRight()
have been replaced with the more genericchannel.matches()
member function. -
2022.03.17 (
0576c1f
):Aura.play()
andAura.stream()
were replaced withAura.createHandle()
. The distinction between both play modes is now handled by the first parameter, all other following parameters stay the same:Aura.play(mySound, loop, mixChannelHandle); // becomes Aura.createHandle(Play, mySound, loop, mixChannelHandle); // and Aura.stream(mySound, loop, mixChannelHandle); // becomes Aura.createHandle(Stream, mySound, loop, mixChannelHandle);
In addition to that, sounds are no longer auto-played to make it easier to pre-initialize their handles. To play them, call
play()
on the returned handle.