Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
d191c5ca
Commit
d191c5ca
authored
Dec 10, 2019
by
Michael Stefaniuc
Committed by
Alexandre Julliard
Dec 10, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dmband: Add partial implementation of Band track GetParam/SetParam.
Signed-off-by:
Michael Stefaniuc
<
mstefani@winehq.org
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
f870aa49
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
65 additions
and
14 deletions
+65
-14
bandtrack.c
dlls/dmband/bandtrack.c
+47
-10
dmband.c
dlls/dmband/tests/dmband.c
+18
-4
No files found.
dlls/dmband/bandtrack.c
View file @
d191c5ca
...
...
@@ -132,20 +132,57 @@ static HRESULT WINAPI band_track_Play(IDirectMusicTrack8 *iface, void *state_dat
return
S_OK
;
}
static
HRESULT
WINAPI
band_track_GetParam
(
IDirectMusicTrack8
*
iface
,
REFGUID
rguidTyp
e
,
MUSIC_TIME
mtTime
,
MUSIC_TIME
*
pmtNext
,
void
*
pP
aram
)
static
HRESULT
WINAPI
band_track_GetParam
(
IDirectMusicTrack8
*
iface
,
REFGUID
type
,
MUSIC_TIME
tim
e
,
MUSIC_TIME
*
next
,
void
*
p
aram
)
{
IDirectMusicBandTrack
*
This
=
impl_from_IDirectMusicTrack8
(
iface
);
FIXME
(
"(%p, %s, %d, %p, %p): stub
\n
"
,
This
,
debugstr_dmguid
(
rguidType
),
mtTime
,
pmtNext
,
pParam
);
return
S_OK
;
IDirectMusicBandTrack
*
This
=
impl_from_IDirectMusicTrack8
(
iface
);
TRACE
(
"(%p, %s, %d, %p, %p)
\n
"
,
This
,
debugstr_dmguid
(
type
),
time
,
next
,
param
);
if
(
!
type
)
return
E_POINTER
;
if
(
!
IsEqualGUID
(
type
,
&
GUID_BandParam
))
return
DMUS_E_GET_UNSUPPORTED
;
FIXME
(
"GUID_BandParam not handled yet
\n
"
);
return
S_OK
;
}
static
HRESULT
WINAPI
band_track_SetParam
(
IDirectMusicTrack8
*
iface
,
REFGUID
rguidTyp
e
,
MUSIC_TIME
mtTime
,
void
*
pP
aram
)
static
HRESULT
WINAPI
band_track_SetParam
(
IDirectMusicTrack8
*
iface
,
REFGUID
type
,
MUSIC_TIME
tim
e
,
void
*
p
aram
)
{
IDirectMusicBandTrack
*
This
=
impl_from_IDirectMusicTrack8
(
iface
);
FIXME
(
"(%p, %s, %d, %p): stub
\n
"
,
This
,
debugstr_dmguid
(
rguidType
),
mtTime
,
pParam
);
return
S_OK
;
IDirectMusicBandTrack
*
This
=
impl_from_IDirectMusicTrack8
(
iface
);
TRACE
(
"(%p, %s, %d, %p)
\n
"
,
This
,
debugstr_dmguid
(
type
),
time
,
param
);
if
(
!
type
)
return
E_POINTER
;
if
(
FAILED
(
IDirectMusicTrack8_IsParamSupported
(
iface
,
type
)))
return
DMUS_E_TYPE_UNSUPPORTED
;
if
(
IsEqualGUID
(
type
,
&
GUID_BandParam
))
FIXME
(
"GUID_BandParam not handled yet
\n
"
);
else
if
(
IsEqualGUID
(
type
,
&
GUID_Clear_All_Bands
))
FIXME
(
"GUID_Clear_All_Bands not handled yet
\n
"
);
else
if
(
IsEqualGUID
(
type
,
&
GUID_ConnectToDLSCollection
))
FIXME
(
"GUID_ConnectToDLSCollection not handled yet
\n
"
);
else
if
(
IsEqualGUID
(
type
,
&
GUID_Disable_Auto_Download
))
FIXME
(
"GUID_Disable_Auto_Download not handled yet
\n
"
);
else
if
(
IsEqualGUID
(
type
,
&
GUID_Download
))
FIXME
(
"GUID_Download not handled yet
\n
"
);
else
if
(
IsEqualGUID
(
type
,
&
GUID_DownloadToAudioPath
))
FIXME
(
"GUID_DownloadToAudioPath not handled yet
\n
"
);
else
if
(
IsEqualGUID
(
type
,
&
GUID_Enable_Auto_Download
))
FIXME
(
"GUID_Enable_Auto_Download not handled yet
\n
"
);
else
if
(
IsEqualGUID
(
type
,
&
GUID_IDirectMusicBand
))
FIXME
(
"GUID_IDirectMusicBand not handled yet
\n
"
);
else
if
(
IsEqualGUID
(
type
,
&
GUID_StandardMIDIFile
))
FIXME
(
"GUID_StandardMIDIFile not handled yet
\n
"
);
else
if
(
IsEqualGUID
(
type
,
&
GUID_UnloadFromAudioPath
))
FIXME
(
"GUID_UnloadFromAudioPath not handled yet
\n
"
);
return
S_OK
;
}
static
HRESULT
WINAPI
band_track_IsParamSupported
(
IDirectMusicTrack8
*
iface
,
REFGUID
rguidType
)
...
...
dlls/dmband/tests/dmband.c
View file @
d191c5ca
...
...
@@ -180,6 +180,7 @@ static void test_bandtrack(void)
IPersistStream
*
ps
;
CLSID
class
;
ULARGE_INTEGER
size
;
char
buf
[
64
]
=
{
0
};
HRESULT
hr
;
#define X(guid) &guid, #guid
const
struct
{
...
...
@@ -233,26 +234,39 @@ static void test_bandtrack(void)
}
hr
=
IDirectMusicTrack8_EndPlay
(
dmt8
,
NULL
);
ok
(
hr
==
S_OK
,
"IDirectMusicTrack8_EndPlay failed: %08x
\n
"
,
hr
);
todo_wine
{
hr
=
IDirectMusicTrack8_Play
(
dmt8
,
NULL
,
0
,
0
,
0
,
0
,
NULL
,
NULL
,
0
);
todo_wine
ok
(
hr
==
DMUS_S_END
,
"IDirectMusicTrack8_Play failed: %08x
\n
"
,
hr
);
hr
=
IDirectMusicTrack8_GetParam
(
dmt8
,
NULL
,
0
,
NULL
,
NULL
);
ok
(
hr
==
E_POINTER
,
"IDirectMusicTrack8_GetParam failed: %08x
\n
"
,
hr
);
hr
=
IDirectMusicTrack8_SetParam
(
dmt8
,
NULL
,
0
,
NULL
);
ok
(
hr
==
E_POINTER
,
"IDirectMusicTrack8_SetParam failed: %08x
\n
"
,
hr
);
}
hr
=
IDirectMusicTrack8_IsParamSupported
(
dmt8
,
NULL
);
ok
(
hr
==
E_POINTER
,
"IDirectMusicTrack8_IsParamSupported failed: %08x
\n
"
,
hr
);
for
(
i
=
0
;
i
<
ARRAY_SIZE
(
param_types
);
i
++
)
{
hr
=
IDirectMusicTrack8_IsParamSupported
(
dmt8
,
param_types
[
i
].
type
);
if
(
param_types
[
i
].
supported
)
if
(
param_types
[
i
].
supported
)
{
ok
(
hr
==
S_OK
,
"IsParamSupported(%s) failed: %08x, expected S_OK
\n
"
,
param_types
[
i
].
name
,
hr
);
else
hr
=
IDirectMusicTrack8_GetParam
(
dmt8
,
param_types
[
i
].
type
,
0
,
NULL
,
buf
);
if
(
param_types
[
i
].
type
!=
&
GUID_BandParam
)
ok
(
hr
==
DMUS_E_GET_UNSUPPORTED
,
"GetParam(%s) failed: %08x, expected DMUS_E_GET_UNSUPPORTED
\n
"
,
param_types
[
i
].
name
,
hr
);
}
else
{
ok
(
hr
==
DMUS_E_TYPE_UNSUPPORTED
,
"IsParamSupported(%s) failed: %08x, expected DMUS_E_TYPE_UNSUPPORTED
\n
"
,
param_types
[
i
].
name
,
hr
);
hr
=
IDirectMusicTrack8_GetParam
(
dmt8
,
param_types
[
i
].
type
,
0
,
NULL
,
buf
);
ok
(
hr
==
DMUS_E_GET_UNSUPPORTED
,
"GetParam(%s) failed: %08x, expected DMUS_E_GET_UNSUPPORTED
\n
"
,
param_types
[
i
].
name
,
hr
);
hr
=
IDirectMusicTrack8_SetParam
(
dmt8
,
param_types
[
i
].
type
,
0
,
buf
);
ok
(
hr
==
DMUS_E_TYPE_UNSUPPORTED
,
"SetParam(%s) failed: %08x, expected DMUS_E_TYPE_UNSUPPORTED
\n
"
,
param_types
[
i
].
name
,
hr
);
}
}
hr
=
IDirectMusicTrack8_AddNotificationType
(
dmt8
,
NULL
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment