GNU bug report logs -
#74863
31.0.50; Problems with play-sound on MS-Windows
Previous Next
Reported by: Cecilio Pardo <cpardo <at> imayhem.com>
Date: Fri, 13 Dec 2024 23:51:01 UTC
Severity: normal
Found in version 31.0.50
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Sat, 21 Dec 2024 12:37:37 +0200
with message-id <861py18gpa.fsf <at> gnu.org>
and subject line Re: bug#74863: 31.0.50; Problems with play-sound on MS-Windows
has caused the debbugs.gnu.org bug report #74863,
regarding 31.0.50; Problems with play-sound on MS-Windows
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
74863: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=74863
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
There are some problems with play-sound, but I didn't find an active bug
for them. Before working on them I have a couple of questions:
- Is sound playing synchronous on purpose?
- To support :data, we can use the PlaySound function, but we will lose
the ability to play files other than wav. We can maintain the current
code for files, and use PlaySound for :data. Another option would be to
simply save data to a temp file and play the file.
[Message part 3 (message/rfc822, inline)]
> Date: Sun, 15 Dec 2024 19:33:35 +0100
> Cc: 74863 <at> debbugs.gnu.org
> From: Cecilio Pardo <cpardo <at> imayhem.com>
>
> On 15/12/2024 13:50, Eli Zaretskii wrote:
>
> >> (defun load-file-into-unibyte-string (file-path)
> >> (with-temp-buffer
> >> (set-buffer-multibyte nil)
> >> (insert-file-contents file-path)
> >> (buffer-string)))
> >>
> >> (play-sound `(sound :data ,(load-file-into-unibyte-string "awav.wav")
> >> :volume 100))
> >
> > What's wrong with insert-file-contents-literally?
>
> Nothing. So many functions...
>
> >
> >> + if (in_memory)
> >> + i_result = !PlaySound (psz_file_or_data, NULL, SND_MEMORY);
> >
> > AFAIU, the documentation seems to say that the string passed as the
> > first argument to PlaySound is limited to 256 characters (i.e. bytes)?
> > If so, how do we play longer sounds?
>
> I think this limitation applies only when the argument points to a
> string, and not when using SND_MEMORY, which is documented with: "The
> pszSound parameter points to a sound loaded in memory."
>
> It's true the documentation doesn't say so, and I haven't found any
> clarification by Microsoft, but SND_MEMORY would be useless otherwise.
> Also I see normal usage searching the internet.
>
> > Should we also use SND_SENTRY flag (on Vista and later)?
>
> Yes, done in the attached patch.
Thanks, installed on master, and closing the bug.
This bug report was last modified 209 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.