@@ -217,7 +217,7 @@ class AudioDevice:
217
217
.. versionchanged:: 16.0
218
218
Can now be used as a context which will close the device on exit.
219
219
220
- .. versionchanged::Unreleased
220
+ .. versionchanged::19.0
221
221
Removed `spec` and `callback` attribute.
222
222
223
223
`queued_samples`, `queue_audio`, and `dequeue_audio` moved to :any:`AudioStream` class.
@@ -269,7 +269,7 @@ def __init__(
269
269
self .is_physical :Final [bool ]= bool (lib .SDL_IsAudioDevicePhysical (device_id ))
270
270
"""True of this is a physical device, or False if this is a logical device.
271
271
272
- .. versionadded::Unreleased
272
+ .. versionadded::19.0
273
273
"""
274
274
275
275
def __repr__ (self )-> str :
@@ -294,7 +294,7 @@ def __repr__(self) -> str:
294
294
def name (self )-> str :
295
295
"""Name of the device.
296
296
297
- .. versionadded::Unreleased
297
+ .. versionadded::19.0
298
298
"""
299
299
return str (ffi .string (_check_p (lib .SDL_GetAudioDeviceName (self .device_id ))),encoding = "utf-8" )
300
300
@@ -304,7 +304,7 @@ def gain(self) -> float:
304
304
305
305
Default is 1.0 but can be set higher or zero.
306
306
307
- .. versionadded::Unreleased
307
+ .. versionadded::19.0
308
308
"""
309
309
return _check_float (lib .SDL_GetAudioDeviceGain (self .device_id ),failure = - 1.0 )
310
310
@@ -320,7 +320,7 @@ def open(
320
320
)-> Self :
321
321
"""Open a new logical audio device for this device.
322
322
323
- .. versionadded::Unreleased
323
+ .. versionadded::19.0
324
324
325
325
.. seealso::
326
326
https://wiki.libsdl.org/SDL3/SDL_OpenAudioDevice
@@ -349,7 +349,7 @@ def _sample_size(self) -> int:
349
349
def stopped (self )-> bool :
350
350
"""Is True if the device has failed or was closed.
351
351
352
- .. deprecated::Unreleased
352
+ .. deprecated::19.0
353
353
No longer used by the SDL3 API.
354
354
"""
355
355
return bool (not hasattr (self ,"device_id" ))
@@ -417,7 +417,7 @@ def close(self) -> None:
417
417
def __enter__ (self )-> Self :
418
418
"""Return self and enter a managed context.
419
419
420
- .. deprecated::Unreleased
420
+ .. deprecated::19.0
421
421
Use :func:`contextlib.closing` if you want to close this device after a context.
422
422
"""
423
423
return self
@@ -443,7 +443,7 @@ def new_stream(
443
443
)-> AudioStream :
444
444
"""Create, bind, and return a new :any:`AudioStream` for this device.
445
445
446
- .. versionadded::Unreleased
446
+ .. versionadded::19.0
447
447
"""
448
448
new_stream = AudioStream .new (format = format ,channels = channels ,frequency = frequency )
449
449
self .bind ((new_stream ,))
@@ -463,7 +463,7 @@ def bind(self, streams: Iterable[AudioStream], /) -> None:
463
463
class AudioStreamCallbackData :
464
464
"""Data provided to AudioStream callbacks.
465
465
466
- .. versionadded::Unreleased
466
+ .. versionadded::19.0
467
467
"""
468
468
469
469
additional_bytes :int
@@ -487,7 +487,7 @@ class AudioStream:
487
487
488
488
This class is commonly created with :any:`AudioDevice.new_stream` which creates a new stream bound to the device.
489
489
490
- ..versionadded::Unreleased
490
+ ..versionadded::19.0
491
491
"""
492
492
493
493
__slots__ = ("__weakref__" ,"_stream_p" )
@@ -819,10 +819,10 @@ class BasicMixer:
819
819
820
820
.. versionadded:: 13.6
821
821
822
- .. versionchanged::Unreleased
822
+ .. versionchanged::19.0
823
823
Added `frequency` and `channels` parameters.
824
824
825
- .. deprecated::Unreleased
825
+ .. deprecated::19.0
826
826
Changes in the SDL3 API have made this classes usefulness questionable.
827
827
This class should be replaced with custom streams.
828
828
"""
@@ -927,7 +927,7 @@ def _sdl_audio_stream_callback(userdata: Any, stream_p: Any, additional_amount:
927
927
def get_devices ()-> dict [str ,AudioDevice ]:
928
928
"""Iterate over the available audio output devices.
929
929
930
- .. versionchanged::Unreleased
930
+ .. versionchanged::19.0
931
931
Now returns a dictionary of :any:`AudioDevice`.
932
932
"""
933
933
tcod .sdl .sys .init (tcod .sdl .sys .Subsystem .AUDIO )
@@ -942,7 +942,7 @@ def get_devices() -> dict[str, AudioDevice]:
942
942
def get_capture_devices ()-> dict [str ,AudioDevice ]:
943
943
"""Iterate over the available audio capture devices.
944
944
945
- .. versionchanged::Unreleased
945
+ .. versionchanged::19.0
946
946
Now returns a dictionary of :any:`AudioDevice`.
947
947
"""
948
948
tcod .sdl .sys .init (tcod .sdl .sys .Subsystem .AUDIO )
@@ -960,7 +960,7 @@ def get_default_playback() -> AudioDevice:
960
960
Example:
961
961
playback_device = tcod.sdl.audio.get_default_playback().open()
962
962
963
- .. versionadded::Unreleased
963
+ .. versionadded::19.0
964
964
"""
965
965
tcod .sdl .sys .init (tcod .sdl .sys .Subsystem .AUDIO )
966
966
return AudioDevice (ffi .cast ("SDL_AudioDeviceID" ,lib .SDL_AUDIO_DEVICE_DEFAULT_PLAYBACK ))
@@ -972,7 +972,7 @@ def get_default_recording() -> AudioDevice:
972
972
Example:
973
973
recording_device = tcod.sdl.audio.get_default_recording().open()
974
974
975
- .. versionadded::Unreleased
975
+ .. versionadded::19.0
976
976
"""
977
977
tcod .sdl .sys .init (tcod .sdl .sys .Subsystem .AUDIO )
978
978
return AudioDevice (ffi .cast ("SDL_AudioDeviceID" ,lib .SDL_AUDIO_DEVICE_DEFAULT_RECORDING ))
@@ -982,7 +982,7 @@ def get_default_recording() -> AudioDevice:
982
982
class AllowedChanges (enum .IntFlag ):
983
983
"""Which parameters are allowed to be changed when the values given are not supported.
984
984
985
- .. deprecated::Unreleased
985
+ .. deprecated::19.0
986
986
This is no longer used.
987
987
"""
988
988
@@ -1033,12 +1033,12 @@ def open( # noqa: A001, PLR0913
1033
1033
If a callback is given then it will be called with the `AudioDevice` and a Numpy buffer of the data stream.
1034
1034
This callback will be run on a separate thread.
1035
1035
1036
- .. versionchanged::Unreleased
1036
+ .. versionchanged::19.0
1037
1037
SDL3 returns audio devices differently, exact formatting is set with :any:`AudioDevice.new_stream` instead.
1038
1038
1039
1039
`samples` and `allowed_changes` are ignored.
1040
1040
1041
- .. deprecated::Unreleased
1041
+ .. deprecated::19.0
1042
1042
This is an outdated method.
1043
1043
Use :any:`AudioDevice.open` instead, for example:
1044
1044
``tcod.sdl.audio.get_default_playback().open()``