diff --git a/stubs/pyaudio/pyaudio.pyi b/stubs/pyaudio/pyaudio.pyi index 80656b1cc..b7a57cee4 100644 --- a/stubs/pyaudio/pyaudio.pyi +++ b/stubs/pyaudio/pyaudio.pyi @@ -1,6 +1,7 @@ import sys from collections.abc import Callable, Mapping, Sequence -from typing_extensions import Final, TypeAlias, final +from typing import ClassVar +from typing_extensions import Final, TypeAlias __docformat__: str @@ -70,23 +71,6 @@ paPrimingOutput: Final[int] paFramesPerBufferUnspecified: Final[int] if sys.platform == "darwin": - @final - class paMacCoreStreamInfo: - paMacCoreChangeDeviceParameters: Final[int] - paMacCoreFailIfConversionRequired: Final[int] - paMacCoreConversionQualityMin: Final[int] - paMacCoreConversionQualityMedium: Final[int] - paMacCoreConversionQualityLow: Final[int] - paMacCoreConversionQualityHigh: Final[int] - paMacCoreConversionQualityMax: Final[int] - paMacCorePlayNice: Final[int] - paMacCorePro: Final[int] - paMacCoreMinimizeCPUButPlayNice: Final[int] - paMacCoreMinimizeCPU: Final[int] - flags: Final[int] - channel_map: Final[_ChannelMap | None] - def __init__(self, flags: int = ..., channel_map: _ChannelMap = ...) -> None: ... - class PaMacCoreStreamInfo: paMacCoreChangeDeviceParameters: Final[int] paMacCoreFailIfConversionRequired: Final[int] @@ -149,9 +133,13 @@ class Stream: def stop_stream(self) -> None: ... def write(self, frames: bytes, num_frames: int | None = ..., exception_on_underflow: bool = ...) -> None: ... +# Use an alias to workaround pyright complaints about recursive definitions in the PyAudio class +_Stream = Stream + class PyAudio: + Stream: ClassVar[type[_Stream]] def __init__(self) -> None: ... - def close(self, stream: Stream) -> None: ... + def close(self, stream: _Stream) -> None: ... def get_default_host_api_info(self) -> _PaHostApiInfo: ... def get_default_input_device_info(self) -> _PaDeviceInfo: ... def get_default_output_device_info(self) -> _PaDeviceInfo: ... @@ -187,5 +175,5 @@ class PyAudio: input_host_api_specific_stream_info: _PaMacCoreStreamInfo | None = ..., output_host_api_specific_stream_info: _PaMacCoreStreamInfo | None = ..., stream_callback: _StreamCallback | None = ..., - ) -> Stream: ... + ) -> _Stream: ... def terminate(self) -> None: ...