mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-08 21:14:48 +08:00
180 lines
6.3 KiB
Python
180 lines
6.3 KiB
Python
import sys
|
|
from collections.abc import Callable, Mapping, Sequence
|
|
from typing import ClassVar, Final
|
|
from typing_extensions import TypeAlias
|
|
|
|
__docformat__: str
|
|
|
|
paFloat32: Final[int]
|
|
paInt32: Final[int]
|
|
paInt24: Final[int]
|
|
paInt16: Final[int]
|
|
paInt8: Final[int]
|
|
paUInt8: Final[int]
|
|
paCustomFormat: Final[int]
|
|
|
|
paInDevelopment: Final[int]
|
|
paDirectSound: Final[int]
|
|
paMME: Final[int]
|
|
paASIO: Final[int]
|
|
paSoundManager: Final[int]
|
|
paCoreAudio: Final[int]
|
|
paOSS: Final[int]
|
|
paALSA: Final[int]
|
|
paAL: Final[int]
|
|
paBeOS: Final[int]
|
|
paWDMKS: Final[int]
|
|
paJACK: Final[int]
|
|
paWASAPI: Final[int]
|
|
paNoDevice: Final[int]
|
|
|
|
paNoError: Final[int]
|
|
paNotInitialized: Final[int]
|
|
paUnanticipatedHostError: Final[int]
|
|
paInvalidChannelCount: Final[int]
|
|
paInvalidSampleRate: Final[int]
|
|
paInvalidDevice: Final[int]
|
|
paInvalidFlag: Final[int]
|
|
paSampleFormatNotSupported: Final[int]
|
|
paBadIODeviceCombination: Final[int]
|
|
paInsufficientMemory: Final[int]
|
|
paBufferTooBig: Final[int]
|
|
paBufferTooSmall: Final[int]
|
|
paNullCallback: Final[int]
|
|
paBadStreamPtr: Final[int]
|
|
paTimedOut: Final[int]
|
|
paInternalError: Final[int]
|
|
paDeviceUnavailable: Final[int]
|
|
paIncompatibleHostApiSpecificStreamInfo: Final[int]
|
|
paStreamIsStopped: Final[int]
|
|
paStreamIsNotStopped: Final[int]
|
|
paInputOverflowed: Final[int]
|
|
paOutputUnderflowed: Final[int]
|
|
paHostApiNotFound: Final[int]
|
|
paInvalidHostApi: Final[int]
|
|
paCanNotReadFromACallbackStream: Final[int]
|
|
paCanNotWriteToACallbackStream: Final[int]
|
|
paCanNotReadFromAnOutputOnlyStream: Final[int]
|
|
paCanNotWriteToAnInputOnlyStream: Final[int]
|
|
paIncompatibleStreamHostApi: Final[int]
|
|
|
|
paContinue: Final[int]
|
|
paComplete: Final[int]
|
|
paAbort: Final[int]
|
|
|
|
paInputUnderflow: Final[int]
|
|
paInputOverflow: Final[int]
|
|
paOutputUnderflow: Final[int]
|
|
paOutputOverflow: Final[int]
|
|
paPrimingOutput: Final[int]
|
|
|
|
paFramesPerBufferUnspecified: Final[int]
|
|
|
|
if sys.platform == "darwin":
|
|
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]
|
|
def __init__(self, flags: int | None = ..., channel_map: _ChannelMap | None = ...) -> None: ...
|
|
def get_flags(self) -> int: ...
|
|
def get_channel_map(self) -> _ChannelMap | None: ...
|
|
|
|
_PaMacCoreStreamInfo: TypeAlias = PaMacCoreStreamInfo
|
|
else:
|
|
_PaMacCoreStreamInfo: TypeAlias = None
|
|
|
|
# Auxiliary types
|
|
_ChannelMap: TypeAlias = Sequence[int]
|
|
_PaHostApiInfo: TypeAlias = Mapping[str, str | int]
|
|
_PaDeviceInfo: TypeAlias = Mapping[str, str | int | float]
|
|
_StreamCallback: TypeAlias = Callable[[bytes | None, int, Mapping[str, float], int], tuple[bytes | None, int]]
|
|
|
|
def get_format_from_width(width: int, unsigned: bool = ...) -> int: ...
|
|
def get_portaudio_version() -> int: ...
|
|
def get_portaudio_version_text() -> str: ...
|
|
def get_sample_size(format: int) -> int: ...
|
|
|
|
class Stream:
|
|
def __init__(
|
|
self,
|
|
PA_manager: PyAudio,
|
|
rate: int,
|
|
channels: int,
|
|
format: int,
|
|
input: bool = ...,
|
|
output: bool = ...,
|
|
input_device_index: int | None = ...,
|
|
output_device_index: int | None = ...,
|
|
frames_per_buffer: int = ...,
|
|
start: bool = ...,
|
|
input_host_api_specific_stream_info: _PaMacCoreStreamInfo | None = ...,
|
|
output_host_api_specific_stream_info: _PaMacCoreStreamInfo | None = ...,
|
|
stream_callback: _StreamCallback | None = ...,
|
|
) -> None: ...
|
|
def close(self) -> None: ...
|
|
def get_cpu_load(self) -> float: ...
|
|
def get_input_latency(self) -> float: ...
|
|
def get_output_latency(self) -> float: ...
|
|
def get_read_available(self) -> int: ...
|
|
def get_time(self) -> float: ...
|
|
def get_write_available(self) -> int: ...
|
|
def is_active(self) -> bool: ...
|
|
def is_stopped(self) -> bool: ...
|
|
def read(self, num_frames: int, exception_on_overflow: bool = ...) -> bytes: ...
|
|
def start_stream(self) -> None: ...
|
|
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 get_default_host_api_info(self) -> _PaHostApiInfo: ...
|
|
def get_default_input_device_info(self) -> _PaDeviceInfo: ...
|
|
def get_default_output_device_info(self) -> _PaDeviceInfo: ...
|
|
def get_device_count(self) -> int: ...
|
|
def get_device_info_by_host_api_device_index(self, host_api_index: int, host_api_device_index: int) -> _PaDeviceInfo: ...
|
|
def get_device_info_by_index(self, device_index: int) -> _PaDeviceInfo: ...
|
|
def get_format_from_width(self, width: int, unsigned: bool = ...) -> int: ...
|
|
def get_host_api_count(self) -> int: ...
|
|
def get_host_api_info_by_index(self, host_api_index: int) -> _PaHostApiInfo: ...
|
|
def get_host_api_info_by_type(self, host_api_type: int) -> _PaHostApiInfo: ...
|
|
def get_sample_size(self, format: int) -> int: ...
|
|
def is_format_supported(
|
|
self,
|
|
rate: int,
|
|
input_device: int | None = ...,
|
|
input_channels: int | None = ...,
|
|
input_format: int | None = ...,
|
|
output_device: int | None = ...,
|
|
output_channels: int | None = ...,
|
|
output_format: int | None = ...,
|
|
) -> bool: ...
|
|
def open(
|
|
self,
|
|
rate: int,
|
|
channels: int,
|
|
format: int,
|
|
input: bool = ...,
|
|
output: bool = ...,
|
|
input_device_index: int | None = ...,
|
|
output_device_index: int | None = ...,
|
|
frames_per_buffer: int = ...,
|
|
start: bool = ...,
|
|
input_host_api_specific_stream_info: _PaMacCoreStreamInfo | None = ...,
|
|
output_host_api_specific_stream_info: _PaMacCoreStreamInfo | None = ...,
|
|
stream_callback: _StreamCallback | None = ...,
|
|
) -> _Stream: ...
|
|
def terminate(self) -> None: ...
|