From e96f5508621e85dfd2c7262df8dee63c8597d77e Mon Sep 17 00:00:00 2001 From: Matteo Bernardini Date: Wed, 6 Aug 2025 17:12:53 +0800 Subject: [PATCH] fix: use `Final` for enum constants --- src/alsaaudio-stubs/__init__.pyi | 135 ++++++++++++++++--------------- 1 file changed, 70 insertions(+), 65 deletions(-) diff --git a/src/alsaaudio-stubs/__init__.pyi b/src/alsaaudio-stubs/__init__.pyi index 016619e..f9f8b88 100644 --- a/src/alsaaudio-stubs/__init__.pyi +++ b/src/alsaaudio-stubs/__init__.pyi @@ -1,83 +1,88 @@ -PCM_PLAYBACK: int -PCM_CAPTURE: int +from typing import Final -PCM_NORMAL: int -PCM_NONBLOCK: int -PCM_ASYNC: int +PCM_PLAYBACK: Final[int] +PCM_CAPTURE: Final[int] -PCM_FORMAT_S8: int -PCM_FORMAT_U8: int -PCM_FORMAT_S16_LE: int -PCM_FORMAT_S16_BE: int -PCM_FORMAT_U16_LE: int -PCM_FORMAT_U16_BE: int -PCM_FORMAT_S24_LE: int -PCM_FORMAT_S24_BE: int -PCM_FORMAT_U24_LE: int -PCM_FORMAT_U24_BE: int -PCM_FORMAT_S32_LE: int -PCM_FORMAT_S32_BE: int -PCM_FORMAT_U32_LE: int -PCM_FORMAT_U32_BE: int -PCM_FORMAT_FLOAT_LE: int -PCM_FORMAT_FLOAT_BE: int -PCM_FORMAT_FLOAT64_LE: int -PCM_FORMAT_FLOAT64_BE: int -PCM_FORMAT_MU_LAW: int -PCM_FORMAT_A_LAW: int -PCM_FORMAT_IMA_ADPCM: int -PCM_FORMAT_MPEG: int -PCM_FORMAT_GSM: int -PCM_FORMAT_S24_3LE: int -PCM_FORMAT_S24_3BE: int -PCM_FORMAT_U24_3LE: int -PCM_FORMAT_U24_3BE: int +PCM_NORMAL: Final[int] +PCM_NONBLOCK: Final[int] +PCM_ASYNC: Final[int] -PCM_TSTAMP_NONE: int -PCM_TSTAMP_ENABLE: int +PCM_FORMAT_S8: Final[int] +PCM_FORMAT_U8: Final[int] +PCM_FORMAT_S16_LE: Final[int] +PCM_FORMAT_S16_BE: Final[int] +PCM_FORMAT_U16_LE: Final[int] +PCM_FORMAT_U16_BE: Final[int] +PCM_FORMAT_S24_LE: Final[int] +PCM_FORMAT_S24_BE: Final[int] +PCM_FORMAT_U24_LE: Final[int] +PCM_FORMAT_U24_BE: Final[int] +PCM_FORMAT_S32_LE: Final[int] +PCM_FORMAT_S32_BE: Final[int] +PCM_FORMAT_U32_LE: Final[int] +PCM_FORMAT_U32_BE: Final[int] +PCM_FORMAT_FLOAT_LE: Final[int] +PCM_FORMAT_FLOAT_BE: Final[int] +PCM_FORMAT_FLOAT64_LE: Final[int] +PCM_FORMAT_FLOAT64_BE: Final[int] +PCM_FORMAT_MU_LAW: Final[int] +PCM_FORMAT_A_LAW: Final[int] +PCM_FORMAT_IMA_ADPCM: Final[int] +PCM_FORMAT_MPEG: Final[int] +PCM_FORMAT_GSM: Final[int] +PCM_FORMAT_S24_3LE: Final[int] +PCM_FORMAT_S24_3BE: Final[int] +PCM_FORMAT_U24_3LE: Final[int] +PCM_FORMAT_U24_3BE: Final[int] -PCM_TSTAMP_TYPE_GETTIMEOFDAY: int -PCM_TSTAMP_TYPE_MONOTONIC: int -PCM_TSTAMP_TYPE_MONOTONIC_RAW: int +PCM_TSTAMP_NONE: Final[int] +PCM_TSTAMP_ENABLE: Final[int] -PCM_FORMAT_DSD_U8: int -PCM_FORMAT_DSD_U16_LE: int -PCM_FORMAT_DSD_U32_LE: int -PCM_FORMAT_DSD_U32_BE: int +PCM_TSTAMP_TYPE_GETTIMEOFDAY: Final[int] +PCM_TSTAMP_TYPE_MONOTONIC: Final[int] +PCM_TSTAMP_TYPE_MONOTONIC_RAW: Final[int] -PCM_STATE_OPEN: int -PCM_STATE_SETUP: int -PCM_STATE_PREPARED: int -PCM_STATE_RUNNING: int -PCM_STATE_XRUN: int -PCM_STATE_DRAINING: int -PCM_STATE_PAUSED: int -PCM_STATE_SUSPENDED: int -PCM_STATE_DISCONNECTED: int +PCM_FORMAT_DSD_U8: Final[int] +PCM_FORMAT_DSD_U16_LE: Final[int] +PCM_FORMAT_DSD_U32_LE: Final[int] +PCM_FORMAT_DSD_U32_BE: Final[int] -MIXER_CHANNEL_ALL: int +PCM_STATE_OPEN: Final[int] +PCM_STATE_SETUP: Final[int] +PCM_STATE_PREPARED: Final[int] +PCM_STATE_RUNNING: Final[int] +PCM_STATE_XRUN: Final[int] +PCM_STATE_DRAINING: Final[int] +PCM_STATE_PAUSED: Final[int] +PCM_STATE_SUSPENDED: Final[int] +PCM_STATE_DISCONNECTED: Final[int] -MIXER_SCHN_UNKNOWN: int -MIXER_SCHN_FRONT_LEFT: int -MIXER_SCHN_FRONT_RIGHT: int -MIXER_SCHN_REAR_LEFT: int -MIXER_SCHN_REAR_RIGHT: int -MIXER_SCHN_FRONT_CENTER: int -MIXER_SCHN_WOOFER: int -MIXER_SCHN_SIDE_LEFT: int -MIXER_SCHN_SIDE_RIGHT: int -MIXER_SCHN_REAR_CENTER: int -MIXER_SCHN_MONO: int +MIXER_CHANNEL_ALL: Final[int] -VOLUME_UNITS_PERCENTAGE: int -VOLUME_UNITS_RAW: int -VOLUME_UNITS_DB: int +MIXER_SCHN_UNKNOWN: Final[int] +MIXER_SCHN_FRONT_LEFT: Final[int] +MIXER_SCHN_FRONT_RIGHT: Final[int] +MIXER_SCHN_REAR_LEFT: Final[int] +MIXER_SCHN_REAR_RIGHT: Final[int] +MIXER_SCHN_FRONT_CENTER: Final[int] +MIXER_SCHN_WOOFER: Final[int] +MIXER_SCHN_SIDE_LEFT: Final[int] +MIXER_SCHN_SIDE_RIGHT: Final[int] +MIXER_SCHN_REAR_CENTER: Final[int] +MIXER_SCHN_MONO: Final[int] + +VOLUME_UNITS_PERCENTAGE: Final[int] +VOLUME_UNITS_RAW: Final[int] +VOLUME_UNITS_DB: Final[int] def pcms(pcmtype: int) -> list[str]: ... def cards() -> list[str]: ... def mixers(cardindex: int = -1, device: str = 'default') -> list[str]: ... def asoundlib_version() -> str: ... +def card_indexes() -> list[int]: ... +def card_name(index: int): ... + class PCM: def __init__(self, type: int = PCM_PLAYBACK, mode: int = PCM_NORMAL, rate: int = 44100, channels: int = 2, format: int = PCM_FORMAT_S16_LE, periodsize: int = 32, periods: int = 4,