Added support for WODM_BREAKLOOP message.
diff --git a/dlls/winmm/wavemap/wavemap.c b/dlls/winmm/wavemap/wavemap.c index 59c25a2..24e8d81 100644 --- a/dlls/winmm/wavemap/wavemap.c +++ b/dlls/winmm/wavemap/wavemap.c
@@ -49,7 +49,7 @@ { WAVEMAPDATA* wom = (WAVEMAPDATA*)dwInstance; - TRACE("(0x%x %u %ld %ld %ld);\n", hDev, uMsg, dwInstance, dwParam1, dwParam2); + TRACE("(0x%x %u %ld %lx %lx);\n", hDev, uMsg, dwInstance, dwParam1, dwParam2); switch (uMsg) { case WOM_OPEN: @@ -333,6 +333,11 @@ return waveOutReset(wom->hWave); } +static DWORD wodBreakLoop(WAVEMAPDATA* wom) +{ + return waveOutBreakLoop(wom->hWave); +} + /************************************************************************** * WAVEMAP_wodMessage [sample driver] */ @@ -354,7 +359,7 @@ case WODM_WRITE: return wodWrite ((WAVEMAPDATA*)dwUser, (LPWAVEHDR)dwParam1, dwParam2); case WODM_PAUSE: return wodPause ((WAVEMAPDATA*)dwUser); case WODM_GETPOS: return wodGetPosition ((WAVEMAPDATA*)dwUser, (LPMMTIME)dwParam1, dwParam2); - case WODM_BREAKLOOP: return MMSYSERR_NOTSUPPORTED; + case WODM_BREAKLOOP: return wodBreakLoop ((WAVEMAPDATA*)dwUser); case WODM_PREPARE: return wodPrepare ((WAVEMAPDATA*)dwUser, (LPWAVEHDR)dwParam1, dwParam2); case WODM_UNPREPARE: return wodUnprepare ((WAVEMAPDATA*)dwUser, (LPWAVEHDR)dwParam1, dwParam2); case WODM_GETDEVCAPS: return wodGetDevCaps (wDevID, (WAVEMAPDATA*)dwUser, (LPWAVEOUTCAPSA)dwParam1,dwParam2);