251{
254 DWORD StreamSize, StreamCount, ListSize[3], ListCount[3];
258
259 FIXME(
"(%p, %p): Loading not implemented yet\n",
This, pStm);
262 switch (Chunk.
fccID) {
267 StreamCount = 0;
268 switch (Chunk.
fccID) {
270 TRACE_(dmfile)(
": script form\n");
271 do {
275 switch (Chunk.
fccID) {
277 TRACE_(dmfile)(
": script header chunk\n");
280 break;
281 }
283 TRACE_(dmfile)(
": script version chunk\n");
286 TRACE_(dmfile)(
"version: 0x%08lx.0x%08lx\n",
This->pVersion->dwVersionMS,
This->pVersion->dwVersionLS);
287 break;
288 }
290 TRACE_(dmfile)(
": script language chunk\n");
294 break;
295 }
297 TRACE_(dmfile)(
": script source chunk\n");
308 }
309 break;
310 }
312 TRACE_(dmfile)(
": GUID chunk\n");
314 IStream_Read (pStm, &
This->dmobj.desc.guidObject, Chunk.
dwSize,
NULL);
315 break;
316 }
318 TRACE_(dmfile)(
": version chunk\n");
320 IStream_Read (pStm, &
This->dmobj.desc.vVersion, Chunk.
dwSize,
NULL);
321 break;
322 }
324 TRACE_(dmfile)(
": category chunk\n");
326 IStream_Read (pStm,
This->dmobj.desc.wszCategory, Chunk.
dwSize,
NULL);
327 break;
328 }
332
336 desc.guidClass = CLSID_DirectMusicContainer;
338 IStream_Clone (pStm, &
desc.pStream);
339
342 IStream_Seek (
desc.pStream, liMove, STREAM_SEEK_CUR,
NULL);
343
344 IStream_QueryInterface (pStm, &IID_IDirectMusicGetLoader, (
LPVOID*)&pGetLoader);
347
350 } else {
351 ERR_(dmfile)(
"Error on GetObject while trying to load Scrip SubContainer\n");
352 }
353
356
358 IStream_Seek (pStm, liMove, STREAM_SEEK_CUR,
NULL);
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374 break;
375 }
380 ListCount[0] = 0;
381 switch (Chunk.
fccID) {
383 TRACE_(dmfile)(
": UNFO list\n");
384 do {
388 switch (Chunk.
fccID) {
389
390
393 TRACE_(dmfile)(
": name chunk\n");
395 IStream_Read (pStm,
This->dmobj.desc.wszName, Chunk.
dwSize,
NULL);
396 break;
397 }
400 TRACE_(dmfile)(
": artist chunk (ignored)\n");
402 IStream_Seek (pStm, liMove, STREAM_SEEK_CUR,
NULL);
403 break;
404 }
407 TRACE_(dmfile)(
": copyright chunk (ignored)\n");
409 IStream_Seek (pStm, liMove, STREAM_SEEK_CUR,
NULL);
410 break;
411 }
414 TRACE_(dmfile)(
": subject chunk (ignored)\n");
416 IStream_Seek (pStm, liMove, STREAM_SEEK_CUR,
NULL);
417 break;
418 }
421 TRACE_(dmfile)(
": comment chunk (ignored)\n");
423 IStream_Seek (pStm, liMove, STREAM_SEEK_CUR,
NULL);
424 break;
425 }
426 default: {
427 TRACE_(dmfile)(
": unknown sub-chunk (irrelevant & skipping)\n");
429 IStream_Seek (pStm, liMove, STREAM_SEEK_CUR,
NULL);
430 break;
431 }
432 }
433 TRACE_(dmfile)(
": ListCount[0] = %ld < ListSize[0] = %ld\n", ListCount[0], ListSize[0]);
434 } while (ListCount[0] < ListSize[0]);
435 break;
436 }
437 default: {
438 TRACE_(dmfile)(
": unknown (skipping)\n");
440 IStream_Seek (pStm, liMove, STREAM_SEEK_CUR,
NULL);
441 break;
442 }
443 }
444 break;
445 }
446 default: {
447 TRACE_(dmfile)(
": unknown chunk (irrelevant & skipping)\n");
449 IStream_Seek (pStm, liMove, STREAM_SEEK_CUR,
NULL);
450 break;
451 }
452 }
453 TRACE_(dmfile)(
": StreamCount[0] = %ld < StreamSize[0] = %ld\n", StreamCount, StreamSize);
454 } while (StreamCount < StreamSize);
455 break;
456 }
457 default: {
458 TRACE_(dmfile)(
": unexpected chunk; loading failed)\n");
460 IStream_Seek (pStm, liMove, STREAM_SEEK_CUR,
NULL);
462 }
463 }
464 TRACE_(dmfile)(
": reading finished\n");
465 break;
466 }
467 default: {
468 TRACE_(dmfile)(
": unexpected chunk; loading failed)\n");
470 IStream_Seek (pStm, liMove, STREAM_SEEK_CUR,
NULL);
472 }
473 }
474
476}
static IDirectMusicScriptImpl * impl_from_IPersistStream(IPersistStream *iface)
#define WideCharToMultiByte
size_t CDECL fwrite(const void *ptr, size_t size, size_t nmemb, FILE *file)
#define DMUS_FOURCC_GUID_CHUNK
#define DMUS_FOURCC_SCRIPT_CHUNK
#define DMUS_FOURCC_UNAM_CHUNK
#define DMUS_FOURCC_VERSION_CHUNK
#define DMUS_FOURCC_SCRIPT_FORM
#define DMUS_FOURCC_UCOP_CHUNK
#define DMUS_FOURCC_UART_CHUNK
#define DMUS_FOURCC_SCRIPTLANGUAGE_CHUNK
#define DMUS_FOURCC_SCRIPTVERSION_CHUNK
#define DMUS_FOURCC_UNFO_LIST
#define DMUS_FOURCC_SCRIPTSOURCE_CHUNK
#define DMUS_FOURCC_UCMT_CHUNK
#define DMUS_FOURCC_USBJ_CHUNK
#define DMUS_FOURCC_CATEGORY_CHUNK
#define IDirectMusicGetLoader_GetLoader(p, a)
#define IDirectMusicObject_Release(p)
#define IDirectMusicLoader_Release(p)
struct IDirectMusicGetLoader * LPDIRECTMUSICGETLOADER
struct _DMUS_OBJECTDESC DMUS_OBJECTDESC
#define IDirectMusicGetLoader_Release(p)
struct IDirectMusicLoader * LPDIRECTMUSICLOADER
#define IDirectMusicLoader_GetObject(p, a, b, c)
#define DMUS_OBJ_CATEGORY
GLuint GLuint GLsizei count
#define FOURCC(a, b, c, d)
#define mmioFOURCC(c0, c1, c2, c3)
D3D11_SHADER_VARIABLE_DESC desc
static __inline const char * debugstr_fourcc(unsigned int cc)