Make codesampler texture addressing mode sample work better.
[wine] / dlls / dmusic / dmusic_style.c
1 /* IDirectMusicStyle Implementation
2  * IDirectMusicStyle8 Implementation
3  *
4  * Copyright (C) 2003 Rok Mandeljc
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU Library General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19  */
20
21 #include "windef.h"
22 #include "winbase.h"
23 #include "winuser.h"
24 #include "wingdi.h"
25 #include "wine/debug.h"
26
27 #include "dmusic_private.h"
28
29 WINE_DEFAULT_DEBUG_CHANNEL(dmusic);
30
31 /* IDirectMusicStyle IUnknown parts follow: */
32 HRESULT WINAPI IDirectMusicStyleImpl_QueryInterface (LPDIRECTMUSICSTYLE iface, REFIID riid, LPVOID *ppobj)
33 {
34         ICOM_THIS(IDirectMusicStyleImpl,iface);
35
36         if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusicStyle))
37         {
38                 IDirectMusicStyleImpl_AddRef(iface);
39                 *ppobj = This;
40                 return DS_OK;
41         }
42         WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj);
43         return E_NOINTERFACE;
44 }
45
46 ULONG WINAPI IDirectMusicStyleImpl_AddRef (LPDIRECTMUSICSTYLE iface)
47 {
48         ICOM_THIS(IDirectMusicStyleImpl,iface);
49         TRACE("(%p) : AddRef from %ld\n", This, This->ref);
50         return ++(This->ref);
51 }
52
53 ULONG WINAPI IDirectMusicStyleImpl_Release (LPDIRECTMUSICSTYLE iface)
54 {
55         ICOM_THIS(IDirectMusicStyleImpl,iface);
56         ULONG ref = --This->ref;
57         TRACE("(%p) : ReleaseRef to %ld\n", This, This->ref);
58         if (ref == 0)
59         {
60                 HeapFree(GetProcessHeap(), 0, This);
61         }
62         return ref;
63 }
64
65 /* IDirectMusicStyle Interface follow: */
66 HRESULT WINAPI IDirectMusicStyleImpl_GetBand (LPDIRECTMUSICSTYLE iface, WCHAR* pwszName, IDirectMusicBand** ppBand)
67 {
68         FIXME("stub\n");
69         return DS_OK;
70 }
71
72 HRESULT WINAPI IDirectMusicStyleImpl_EnumBand (LPDIRECTMUSICSTYLE iface, DWORD dwIndex, WCHAR* pwszName)
73 {
74         FIXME("stub\n");
75         return DS_OK;
76 }
77
78 HRESULT WINAPI IDirectMusicStyleImpl_GetDefaultBand (LPDIRECTMUSICSTYLE iface, IDirectMusicBand** ppBand)
79 {
80         FIXME("stub\n");
81         return DS_OK;
82 }
83
84 HRESULT WINAPI IDirectMusicStyleImpl_EnumMotif (LPDIRECTMUSICSTYLE iface, DWORD dwIndex, WCHAR* pwszName)
85 {
86         FIXME("stub\n");
87         return DS_OK;
88 }
89
90 HRESULT WINAPI IDirectMusicStyleImpl_GetMotif (LPDIRECTMUSICSTYLE iface, WCHAR* pwszName, IDirectMusicSegment** ppSegment)
91 {
92         FIXME("stub\n");
93         return DS_OK;
94 }
95
96 HRESULT WINAPI IDirectMusicStyleImpl_GetDefaultChordMap (LPDIRECTMUSICSTYLE iface, IDirectMusicChordMap** ppChordMap)
97 {
98         FIXME("stub\n");
99         return DS_OK;
100 }
101
102 HRESULT WINAPI IDirectMusicStyleImpl_EnumChordMap (LPDIRECTMUSICSTYLE iface, DWORD dwIndex, WCHAR* pwszName)
103 {
104         FIXME("stub\n");
105         return DS_OK;
106 }
107
108 HRESULT WINAPI IDirectMusicStyleImpl_GetChordMap (LPDIRECTMUSICSTYLE iface, WCHAR* pwszName, IDirectMusicChordMap** ppChordMap)
109 {
110         FIXME("stub\n");
111         return DS_OK;
112 }
113
114 HRESULT WINAPI IDirectMusicStyleImpl_GetTimeSignature (LPDIRECTMUSICSTYLE iface, DMUS_TIMESIGNATURE* pTimeSig)
115 {
116         FIXME("stub\n");
117         return DS_OK;
118 }
119
120 HRESULT WINAPI IDirectMusicStyleImpl_GetEmbellishmentLength (LPDIRECTMUSICSTYLE iface, DWORD dwType, DWORD dwLevel, DWORD* pdwMin, DWORD* pdwMax)
121 {
122         FIXME("stub\n");
123         return DS_OK;
124 }
125
126 HRESULT WINAPI IDirectMusicStyleImpl_GetTempo (LPDIRECTMUSICSTYLE iface, double* pTempo)
127 {
128         FIXME("stub\n");
129         return DS_OK;
130 }
131
132 ICOM_VTABLE(IDirectMusicStyle) DirectMusicStyle_Vtbl =
133 {
134     ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
135         IDirectMusicStyleImpl_QueryInterface,
136         IDirectMusicStyleImpl_AddRef,
137         IDirectMusicStyleImpl_Release,
138         IDirectMusicStyleImpl_GetBand,
139         IDirectMusicStyleImpl_EnumBand,
140         IDirectMusicStyleImpl_GetDefaultBand,
141         IDirectMusicStyleImpl_EnumMotif,
142         IDirectMusicStyleImpl_GetMotif,
143         IDirectMusicStyleImpl_GetDefaultChordMap,
144         IDirectMusicStyleImpl_EnumChordMap,
145         IDirectMusicStyleImpl_GetChordMap,
146         IDirectMusicStyleImpl_GetTimeSignature,
147         IDirectMusicStyleImpl_GetEmbellishmentLength,
148         IDirectMusicStyleImpl_GetTempo
149 };
150
151
152 /* IDirectMusicStyle8 IUnknown parts follow: */
153 HRESULT WINAPI IDirectMusicStyle8Impl_QueryInterface (LPDIRECTMUSICSTYLE8 iface, REFIID riid, LPVOID *ppobj)
154 {
155         ICOM_THIS(IDirectMusicStyle8Impl,iface);
156
157         if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusicStyle8))
158         {
159                 IDirectMusicStyle8Impl_AddRef(iface);
160                 *ppobj = This;
161                 return DS_OK;
162         }
163         WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj);
164         return E_NOINTERFACE;
165 }
166
167 ULONG WINAPI IDirectMusicStyle8Impl_AddRef (LPDIRECTMUSICSTYLE8 iface)
168 {
169         ICOM_THIS(IDirectMusicStyle8Impl,iface);
170         TRACE("(%p) : AddRef from %ld\n", This, This->ref);
171         return ++(This->ref);
172 }
173
174 ULONG WINAPI IDirectMusicStyle8Impl_Release (LPDIRECTMUSICSTYLE8 iface)
175 {
176         ICOM_THIS(IDirectMusicStyle8Impl,iface);
177         ULONG ref = --This->ref;
178         TRACE("(%p) : ReleaseRef to %ld\n", This, This->ref);
179         if (ref == 0)
180         {
181                 HeapFree(GetProcessHeap(), 0, This);
182         }
183         return ref;
184 }
185
186 /* IDirectMusicStyle Interface part follow: */
187 HRESULT WINAPI IDirectMusicStyle8Impl_GetBand (LPDIRECTMUSICSTYLE8 iface, WCHAR* pwszName, IDirectMusicBand** ppBand)
188 {
189         FIXME("stub\n");
190         return DS_OK;
191 }
192
193 HRESULT WINAPI IDirectMusicStyle8Impl_EnumBand (LPDIRECTMUSICSTYLE8 iface, DWORD dwIndex, WCHAR* pwszName)
194 {
195         FIXME("stub\n");
196         return DS_OK;
197 }
198
199 HRESULT WINAPI IDirectMusicStyle8Impl_GetDefaultBand (LPDIRECTMUSICSTYLE8 iface, IDirectMusicBand** ppBand)
200 {
201         FIXME("stub\n");
202         return DS_OK;
203 }
204
205 HRESULT WINAPI IDirectMusicStyle8Impl_EnumMotif (LPDIRECTMUSICSTYLE8 iface, DWORD dwIndex, WCHAR* pwszName)
206 {
207         FIXME("stub\n");
208         return DS_OK;
209 }
210
211 HRESULT WINAPI IDirectMusicStyle8Impl_GetMotif (LPDIRECTMUSICSTYLE8 iface, WCHAR* pwszName, IDirectMusicSegment** ppSegment)
212 {
213         FIXME("stub\n");
214         return DS_OK;
215 }
216
217 HRESULT WINAPI IDirectMusicStyle8Impl_GetDefaultChordMap (LPDIRECTMUSICSTYLE8 iface, IDirectMusicChordMap** ppChordMap)
218 {
219         FIXME("stub\n");
220         return DS_OK;
221 }
222
223 HRESULT WINAPI IDirectMusicStyle8Impl_EnumChordMap (LPDIRECTMUSICSTYLE8 iface, DWORD dwIndex, WCHAR* pwszName)
224 {
225         FIXME("stub\n");
226         return DS_OK;
227 }
228
229 HRESULT WINAPI IDirectMusicStyle8Impl_GetChordMap (LPDIRECTMUSICSTYLE8 iface, WCHAR* pwszName, IDirectMusicChordMap** ppChordMap)
230 {
231         FIXME("stub\n");
232         return DS_OK;
233 }
234
235 HRESULT WINAPI IDirectMusicStyle8Impl_GetTimeSignature (LPDIRECTMUSICSTYLE8 iface, DMUS_TIMESIGNATURE* pTimeSig)
236 {
237         FIXME("stub\n");
238         return DS_OK;
239 }
240
241 HRESULT WINAPI IDirectMusicStyle8Impl_GetEmbellishmentLength (LPDIRECTMUSICSTYLE8 iface, DWORD dwType, DWORD dwLevel, DWORD* pdwMin, DWORD* pdwMax)
242 {
243         FIXME("stub\n");
244         return DS_OK;
245 }
246
247 HRESULT WINAPI IDirectMusicStyle8Impl_GetTempo (LPDIRECTMUSICSTYLE8 iface, double* pTempo)
248 {
249         FIXME("stub\n");
250         return DS_OK;
251 }
252
253 /* IDirectMusicStyle8 Interface part follow: */
254 HRESULT WINAPI IDirectMusicStyle8ImplEnumPattern (LPDIRECTMUSICSTYLE8 iface, DWORD dwIndex, DWORD dwPatternType, WCHAR* pwszName)
255 {
256         FIXME("stub\n");
257         return DS_OK;
258 }
259
260 ICOM_VTABLE(IDirectMusicStyle8) DirectMusicStyle8_Vtbl =
261 {
262     ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
263         IDirectMusicStyle8Impl_QueryInterface,
264         IDirectMusicStyle8Impl_AddRef,
265         IDirectMusicStyle8Impl_Release,
266         IDirectMusicStyle8Impl_GetBand,
267         IDirectMusicStyle8Impl_EnumBand,
268         IDirectMusicStyle8Impl_GetDefaultBand,
269         IDirectMusicStyle8Impl_EnumMotif,
270         IDirectMusicStyle8Impl_GetMotif,
271         IDirectMusicStyle8Impl_GetDefaultChordMap,
272         IDirectMusicStyle8Impl_EnumChordMap,
273         IDirectMusicStyle8Impl_GetChordMap,
274         IDirectMusicStyle8Impl_GetTimeSignature,
275         IDirectMusicStyle8Impl_GetEmbellishmentLength,
276         IDirectMusicStyle8Impl_GetTempo,
277         IDirectMusicStyle8ImplEnumPattern
278 };