Source code for windows_toasts.toast_audio
from dataclasses import dataclass
from enum import Enum
from typing import Union
[docs]class AudioSource(Enum):
"""
Different audios built into Windows
"""
Default = "Default"
IM = "IM"
Mail = "Mail"
Reminder = "Reminder"
SMS = "SMS"
Alarm = "Looping.Alarm"
Alarm2 = "Looping.Alarm2"
Alarm3 = "Looping.Alarm3"
Alarm4 = "Looping.Alarm4"
Alarm5 = "Looping.Alarm5"
Alarm6 = "Looping.Alarm6"
Alarm7 = "Looping.Alarm7"
Alarm8 = "Looping.Alarm8"
Alarm9 = "Looping.Alarm9"
Alarm10 = "Looping.Alarm10"
Call = "Looping.Call"
Call2 = "Looping.Call2"
Call3 = "Looping.Call3"
Call4 = "Looping.Call4"
Call5 = "Looping.Call5"
Call6 = "Looping.Call6"
Call7 = "Looping.Call7"
Call8 = "Looping.Call8"
Call9 = "Looping.Call9"
Call10 = "Looping.Call10"
[docs]@dataclass
class ToastAudio:
"""
Audio configuration in a toast
:param sound: Selected AudioSource to play
:type sound: Union[AudioSource, str]
:param looping: Whether the audio should loop once it ends. Stops abruptly when the notification is dismissed
:type looping: bool
:param silent: Silence any audio
:type silent: bool
"""
sound: Union[AudioSource, str] = AudioSource.Default
looping: bool = False
silent: bool = False
@property
def sound_value(self) -> str:
"""
Returns the string value of the selected sound
"""
if isinstance(self.sound, AudioSource):
return self.sound.value
else:
return self.sound