https://github.com/python/cpython/commit/00a984488894a4e6674018f449eb9ec0cee3a9a1 commit: 00a984488894a4e6674018f449eb9ec0cee3a9a1 branch: main author: AN Long <a...@users.noreply.github.com> committer: zooba <steve.do...@microsoft.com> date: 2025-03-20T16:35:52Z summary:
gh-131453: Add additional constants to winsound module (GH-131454) files: A Misc/NEWS.d/next/Windows/2025-03-19-21-58-16.gh-issue-131453.qQ4J5H.rst M Doc/library/winsound.rst M Lib/test/test_winsound.py M PC/winsound.c diff --git a/Doc/library/winsound.rst b/Doc/library/winsound.rst index 799fb3dea19501..925984c3cdb0cb 100644 --- a/Doc/library/winsound.rst +++ b/Doc/library/winsound.rst @@ -142,6 +142,27 @@ provided by Windows platforms. It includes functions and several constants. to specify an application-defined sound alias. +.. data:: SND_SENTRY + + Triggers a SoundSentry event when the sound is played. + + .. versionadded:: 3.14 + + +.. data:: SND_SYNC + + The sound is played synchronously. This is the default behavior. + + .. versionadded:: 3.14 + + +.. data:: SND_SYSTEM + + Assign the sound to the audio session for system notification sounds. + + .. versionadded:: 3.14 + + .. data:: MB_ICONASTERISK Play the ``SystemDefault`` sound. @@ -166,3 +187,30 @@ provided by Windows platforms. It includes functions and several constants. Play the ``SystemDefault`` sound. + +.. data:: MB_ICONERROR + + Play the ``SystemHand`` sound. + + .. versionadded:: 3.14 + + +.. data:: MB_ICONINFORMATION + + Play the ``SystemDefault`` sound. + + .. versionadded:: 3.14 + + +.. data:: MB_ICONSTOP + + Play the ``SystemHand`` sound. + + .. versionadded:: 3.14 + + +.. data:: MB_ICONWARNING + + Play the ``SystemExclamation`` sound. + + .. versionadded:: 3.14 diff --git a/Lib/test/test_winsound.py b/Lib/test/test_winsound.py index 870ab7bd41d8ce..9724d830ade0b4 100644 --- a/Lib/test/test_winsound.py +++ b/Lib/test/test_winsound.py @@ -82,6 +82,18 @@ def test_hand(self): def test_question(self): safe_MessageBeep(winsound.MB_ICONQUESTION) + def test_error(self): + safe_MessageBeep(winsound.MB_ICONERROR) + + def test_information(self): + safe_MessageBeep(winsound.MB_ICONINFORMATION) + + def test_stop(self): + safe_MessageBeep(winsound.MB_ICONSTOP) + + def test_warning(self): + safe_MessageBeep(winsound.MB_ICONWARNING) + def test_keyword_args(self): safe_MessageBeep(type=winsound.MB_OK) @@ -161,6 +173,15 @@ def test_stopasync(self): # does not raise on systems without a sound card. winsound.PlaySound(None, winsound.SND_PURGE) + def test_sound_sentry(self): + safe_PlaySound("SystemExit", winsound.SND_ALIAS | winsound.SND_SENTRY) + + def test_sound_sync(self): + safe_PlaySound("SystemExit", winsound.SND_ALIAS | winsound.SND_SYNC) + + def test_sound_system(self): + safe_PlaySound("SystemExit", winsound.SND_ALIAS | winsound.SND_SYSTEM) + if __name__ == "__main__": unittest.main() diff --git a/Misc/NEWS.d/next/Windows/2025-03-19-21-58-16.gh-issue-131453.qQ4J5H.rst b/Misc/NEWS.d/next/Windows/2025-03-19-21-58-16.gh-issue-131453.qQ4J5H.rst new file mode 100644 index 00000000000000..4f44c091745700 --- /dev/null +++ b/Misc/NEWS.d/next/Windows/2025-03-19-21-58-16.gh-issue-131453.qQ4J5H.rst @@ -0,0 +1 @@ +Some :data:`!SND_*` and :data:`!MB_*` constants are added to :mod:`winsound`. diff --git a/PC/winsound.c b/PC/winsound.c index 1cb42f2f3bdfc6..f485c2c5972b01 100644 --- a/PC/winsound.c +++ b/PC/winsound.c @@ -56,7 +56,10 @@ PyDoc_STRVAR(sound_module_doc, "SND_NODEFAULT - Do not play a default beep if the sound can not be found\n" "SND_NOSTOP - Do not interrupt any sounds currently playing\n" // Raising RuntimeError if needed "SND_NOWAIT - Return immediately if the sound driver is busy\n" // Without any errors -"SND_APPLICATION - sound is an application-specific alias in the registry." +"SND_APPLICATION - sound is an application-specific alias in the registry.\n" +"SND_SENTRY - Triggers a SoundSentry event when the sound is played.\n" +"SND_SYNC - Play the sound synchronously, default behavior.\n" +"SND_SYSTEM - Assign sound to the audio session for system notification sounds.\n" "\n" "Beep(frequency, duration) - Make a beep through the PC speaker.\n" "MessageBeep(type) - Call Windows MessageBeep."); @@ -232,12 +235,19 @@ exec_module(PyObject *module) ADD_DEFINE(SND_PURGE); ADD_DEFINE(SND_LOOP); ADD_DEFINE(SND_APPLICATION); + ADD_DEFINE(SND_SENTRY); + ADD_DEFINE(SND_SYNC); + ADD_DEFINE(SND_SYSTEM); ADD_DEFINE(MB_OK); ADD_DEFINE(MB_ICONASTERISK); ADD_DEFINE(MB_ICONEXCLAMATION); ADD_DEFINE(MB_ICONHAND); ADD_DEFINE(MB_ICONQUESTION); + ADD_DEFINE(MB_ICONERROR); + ADD_DEFINE(MB_ICONINFORMATION); + ADD_DEFINE(MB_ICONSTOP); + ADD_DEFINE(MB_ICONWARNING); #undef ADD_DEFINE _______________________________________________ Python-checkins mailing list -- python-checkins@python.org To unsubscribe send an email to python-checkins-le...@python.org https://mail.python.org/mailman3/lists/python-checkins.python.org/ Member address: arch...@mail-archive.com