Audio events emitted by the audio system or channels.
PLAYBACK_STARTED: Any = auto()
PLAYBACK_STOPPED: Any = auto()
PLAYBACK_PAUSED: Any = auto()
PLAYBACK_RESUMED: Any = auto()
PLAYBACK_COMPLETED: Any = auto()
FADE_COMPLETE: Any = auto()
LOOP: Any = auto()
CURVE_FINISHED: Any = auto()
ERROR: Any = auto()
No methods defined.
No documentation
STOPPED: Any = 'stopped'
PLAYING: Any = 'playing'
PAUSED: Any = 'paused'
No methods defined.
Metadata and buffer reference for a loaded sound.
def __init__(self: Any, name: str, filepath: str, category: str = 'sfx') -> Any
def get_buffer(self: Any, backend: OpenALBackend) -> Optional[OpenALBuffer]
Keyframe-based animation for a single audio property (volume, pitch, pan, balance).
def __init__(self: Any, property_name: str, keyframes: List[Tuple[float, float]], interpolation: str = 'linear', loop: bool = False) -> Any
def evaluate(self: Any, t: float) -> float
def update(self: Any, dt: float) -> bool
def on_finished(self: Any, callback: Callable) -> Any
Named audio channel with individual volume, pitch, pan, balance, and curves.
Now supports effects: reverb, echo (via effect slot if EFX available).
def __init__(self: Any, name: str, manager: 'AudioManager', volume: float = 1.0, pitch: float = 1.0, pan: float = 0.0, balance: float = 0.0, loop: bool = False) -> Any
def _get_source(self: Any) -> Optional[OpenALSource]
def _emit_event(self: Any, event: AudioEvent, **kwargs: dict) -> Any
def on_event(self: Any, event: AudioEvent, callback: Callable) -> Any
def _apply_effects(self: Any) -> Any
def set_reverb(self: Any, amount: float) -> Any
def set_echo(self: Any, amount: float) -> Any
def set_chorus(self: Any, amount: float) -> Any
def set_flanger(self: Any, amount: float) -> Any
def set_distortion(self: Any, amount: float) -> Any
def set_pitch_shift(self: Any, semitones: float) -> Any
def play(self: Any, sound_name: str, loop: bool = False, fade_in: float = 0.0, curve: Optional[AudioCurve] = None) -> bool
def stop(self: Any) -> Any
def pause(self: Any) -> Any
def resume(self: Any) -> Any
def set_volume(self: Any, volume: float, duration: float = 0.0, curve_type: str = 'linear') -> Any
def set_pitch(self: Any, pitch: float, duration: float = 0.0, curve_type: str = 'linear') -> Any
def set_balance(self: Any, balance: float, duration: float = 0.0, curve_type: str = 'linear') -> Any
def set_pan(self: Any, pan: float, duration: float = 0.0, curve_type: str = 'linear') -> Any
def apply_curve(self: Any, curve: AudioCurve) -> Any
def update(self: Any, dt: float) -> Any
def is_playing(self: Any) -> bool
def is_paused(self: Any) -> bool
def get_position(self: Any) -> float
Main audio manager with named channels, curves, device selection, and event system.
Now includes master volume control and global effect toggles.
def __init__(self: Any, max_sources: int = 32, device_name: Optional[str] = None) -> Any
def _emit_event(self: Any, event: AudioEvent, **kwargs: dict) -> Any
def on_event(self: Any, event: AudioEvent, callback: Callable) -> Any
def set_master_volume(self: Any, volume: float) -> Any
def set_global_reverb(self: Any, amount: float) -> Any
def set_global_echo(self: Any, amount: float) -> Any
def set_global_chorus(self: Any, amount: float) -> Any
def set_global_flanger(self: Any, amount: float) -> Any
def set_global_distortion(self: Any, amount: float) -> Any
def set_global_pitch_shift(self: Any, semitones: float) -> Any
def list_devices(self: Any) -> List[str]
def set_device(self: Any, device_name: str) -> bool
def create_channel(self: Any, name: str, **kwargs: dict) -> AudioChannel
def get_channel(self: Any, name: str) -> Optional[AudioChannel]
def load_sound(self: Any, name: str, filepath: str, category: str = 'sfx', force_mono: bool = False, force_8bit: bool = False) -> bool
def play(self: Any, sound_name: str, channel: Optional[Union[str, int]] = None, volume: float = 1.0, pitch: float = 1.0, pan: float = 0.0, balance: float = 0.0, loop: bool = False, fade_in: float = 0.0, curve: Optional[AudioCurve] = None, reverb: float = 0.0, echo: float = 0.0, chorus: float = 0.0, flanger: float = 0.0, distortion: float = 0.0, pitch_shift: float = 0.0) -> Optional[AudioChannel]
def play_music(self: Any, sound_name: str, volume: float = 0.8, pitch: float = 1.0, loop: bool = True, fade_in: float = 0.0, curve: Optional[AudioCurve] = None, reverb: float = 0.0, echo: float = 0.0, chorus: float = 0.0, flanger: float = 0.0, distortion: float = 0.0, pitch_shift: float = 0.0) -> Optional[AudioChannel]
def stop_all(self: Any) -> Any
def update(self: Any, dt: float) -> Any
def cleanup(self: Any) -> Any