http://bugs.winehq.org/show_bug.cgi?id=19122
Summary: MCI mciSendString with repeat as a play flag does not work Product: Wine Version: 1.1.24 Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: emil.jo.andersson@gmail.com
This works (plays once as expected):
_stprintf(command, _T("open "%s" alias bgmusic"), szFileName); mciSendString(command, response, (UINT)_tcslen(response), NULL);
_stprintf(command, _T("setaudio bgmusicvolume to %i"), settings.MusicVolume * 10); mciSendString(command, response, (UINT)_tcslen(response), NULL);
mciSendString(_T("play bgmusic"), response, (UINT)_tcslen(response), NULL);
This does not work (doesn't play at all):
_stprintf(command, _T("open "%s" alias bgmusic"), szFileName); mciSendString(command, response, (UINT)_tcslen(response), NULL);
_stprintf(command, _T("setaudio bgmusicvolume to %i"), settings.MusicVolume * 10);
mciSendString(command, response, (UINT)_tcslen(response), NULL); mciSendString(_T("play bgmusic repeat"), response, (UINT)_tcslen(response), NULL);
I've tried this both in a virtual machine (Virtualbox) and on a non-virtual machine. Both were running Ubuntu 9.04 with version 1.1.24 from the Wine repository.
http://bugs.winehq.org/show_bug.cgi?id=19122
Jörg Höhle hoehle@users.sourceforge.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |hoehle@users.sourceforge.ne | |t
--- Comment #1 from Jörg Höhle hoehle@users.sourceforge.net 2010-04-09 11:45:06 --- This is an enhancement request, as the REPEAT flag is not supported by the Wine mciqtz or mciavi MCI drivers.
For robustness, I suggest you explicitly add a type mpegvideo to your open command: open "foo.bar" alias bgmusic type mpegvideo because only the DGV device supports the REPEAT flag. What you currently have would not work with .mid or .wav files, because their MCI drivers do not recognize this flag (with file extension mappings as found in a default install). Nevertheless you can trick it using open "foo.wav" type mpegvideo alias bgmusic such that mciqtz32.dll is used for playing instead of mciwave.dll, as it is for .mpg for example. That works even with MIDI files in native, but Wine is not that far yet.
BTW, your example misses a space in "setaudio bgmusic volume to ..." which, BTW, is another command only supported by DGV devices, not mciwave/mciseq.
Until Wine supports the REPEAT flag, an interim solution might be to play once - better than nothing?
http://bugs.winehq.org/show_bug.cgi?id=19122
Jörg Höhle hoehle@users.sourceforge.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |winmm&mci
https://bugs.winehq.org/show_bug.cgi?id=19122
--- Comment #2 from Austin English austinenglish@gmail.com --- This is your friendly reminder that there has been no bug activity for 2 years. Is this still an issue in current (1.7.16 or newer) wine?
https://bugs.winehq.org/show_bug.cgi?id=19122
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |ABANDONED
--- Comment #3 from Austin English austinenglish@gmail.com --- (In reply to Austin English from comment #2)
This is your friendly reminder that there has been no bug activity for 2 years. Is this still an issue in current (1.7.16 or newer) wine?
Abandoned.
https://bugs.winehq.org/show_bug.cgi?id=19122
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|ABANDONED |--- Ever confirmed|0 |1
--- Comment #4 from Bruno Jesus 00cpxxx@gmail.com --- Sorry, we discussed in wine-patches/devel and I forgot to update the bug. Still in wine 1.7.51.
https://bugs.winehq.org/show_bug.cgi?id=19122
winetest@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |winetest@luukku.com
--- Comment #5 from winetest@luukku.com --- Created attachment 57101 --> https://bugs.winehq.org/attachment.cgi?id=57101 MCI_DGV_PLAY_REPEAT
https://bugs.winehq.org/show_bug.cgi?id=19122
--- Comment #6 from Bruno Jesus 00cpxxx@gmail.com --- (In reply to winetest from comment #5)
Created attachment 57101 [details] MCI_DGV_PLAY_REPEAT
I forgot about this bug, thanks. Still in Wine 2.0. The patch attached (also in the patches list) solves the issue for mciqtz32.
https://bugs.winehq.org/show_bug.cgi?id=19122
--- Comment #7 from Jörg Höhle hoehle@users.sourceforge.net --- Patch looks sufficient (just judging from the diff, without looking at the full source or context, e.g. are the time measurement units still the same?)
https://bugs.winehq.org/show_bug.cgi?id=19122
--- Comment #8 from Bruno Jesus 00cpxxx@gmail.com --- The code repeats the exact same values that were first played so I think there is no problem, at least manual hearing testing didn't reveal anything until now.
Differently from mciavi32 we don't have to calculate video and audio positions to replay.
https://bugs.winehq.org/show_bug.cgi?id=19122
--- Comment #9 from winetest@luukku.com --- Patch went in.
https://bugs.winehq.org/show_bug.cgi?id=19122
--- Comment #10 from Bruno Jesus 00cpxxx@gmail.com --- (In reply to winetest from comment #9)
Patch went in.
Yes, but since mciavi32 still is only partially handled I'm leaving this open for a little longer.
https://bugs.winehq.org/show_bug.cgi?id=19122
Alistair Leslie-Hughes leslie_alistair@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch