Commit 8645d9eb authored by Rémi Bernon's avatar Rémi Bernon Committed by Alexandre Julliard

dmime: Implement IDirectMusicSegment_SetParam.

parent 406f1783
...@@ -392,12 +392,28 @@ static HRESULT WINAPI segment_GetParam(IDirectMusicSegment8 *iface, REFGUID type ...@@ -392,12 +392,28 @@ static HRESULT WINAPI segment_GetParam(IDirectMusicSegment8 *iface, REFGUID type
return hr; return hr;
} }
static HRESULT WINAPI segment_SetParam(IDirectMusicSegment8 *iface, REFGUID rguidType, static HRESULT WINAPI segment_SetParam(IDirectMusicSegment8 *iface, REFGUID type,
DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, void *pParam) DWORD group, DWORD index, MUSIC_TIME music_time, void *param)
{ {
struct segment *This = impl_from_IDirectMusicSegment8(iface); struct segment *This = impl_from_IDirectMusicSegment8(iface);
FIXME("(%p, %s, %#lx, %ld, %ld, %p): stub\n", This, debugstr_dmguid(rguidType), dwGroupBits, struct track_entry *entry;
dwIndex, mtTime, pParam); HRESULT hr;
TRACE("(%p, %s, %#lx, %ld, %ld, %p)\n", This, debugstr_dmguid(type), group,
index, music_time, param);
LIST_FOR_EACH_ENTRY(entry, &This->tracks, struct track_entry, entry)
{
if (group != -1 && !(group & entry->dwGroupBits)) continue;
if (index != DMUS_SEG_ALLTRACKS && index--) continue;
hr = IDirectMusicTrack_IsParamSupported(entry->pTrack, type);
if (hr == DMUS_E_TYPE_UNSUPPORTED) continue;
hr = IDirectMusicTrack_SetParam(entry->pTrack, type, music_time, param);
if (FAILED(hr)) break;
}
return S_OK; return S_OK;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment