HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2006
0801
SOU1COM DirectMusicを扱う際のGUID構造体の作り方など0未解決


SOU1

リンク

2006/8/1(Tue) 00:29:39|NO.1680

DirectMusicを利用してカスタムdlsを使用出来るmidプレイヤーを作りたいのですが、
初期化の時点で詰まってしまいました。
ちょくとさんのサイトやヘルプを元に途中までスクリプトを起こしました。

CLSID構造体やIID構造体の作り方に全く自信が持てませんが、それ以外にもミスがあるかもしれません。
既にDirectMusicを扱えるスクリプト等を書かれた方がおられましたら、ミス等指摘して頂ければ
幸いです。
それと本当はスクリプトの冒頭でdefineしている文字列からGUID構造体を作れると良かった
のですが可能でしょうか?

#define CLSID_DirectMusicPerformance "{d2ac2881-b39b-11d1-8704-00600893b1bd}" #define CLSID_DirectMusicLoader "{d2ac2892-b39b-11d1-8704-00600893b1bd}" #define CLSID_DirectMusicSegment "{d2ac2882-b39b-11d1-8704-00600893b1bd}" #define IID_IDirectMusicPerformance8 "{679c4137-c62e-4147-b2b4-9d569acb254c}" #define IID_IDirectMusicLoader8 "{19e7c08c-0a44-4e6a-a116-595a7cd5de8c}" #define IID_IDirectMusicSegment8 "{c6784488-41a3-418f-aa15-b35093ba42d4}" #usecom IDirectMusicPerformance8 IID_IDirectMusicPerformance8 CLSID_DirectMusicPerformance #comfunc IDirectMusicPerformance8_InitAudio 44 int,int,int,int,int,int,int #comfunc IDirectMusicPerformance8_PlaySegmentEx 45 comobj,int,int,int,double,int,int,int #usecom IDirectMusicLoader8 IID_IDirectMusicLoader8 CLSID_DirectMusicLoader #comfunc IDirectMusicLoader8_LoadObjectFromFile 14 wptr,wptr,wstr,comobj #usecom IDirectMusicSegment8 IID_IDirectMusicSegment8 CLSID_DirectMusicSegment #comfunc IDirectMusicSegment8_Download 29 comobj #define DMUS_APATH_SHARED_STEREOPLUSREVERB 1 #define DMUS_AUDIOF_ALL 0x3F fn="C:\\Windows\\Media\\chimes.wav" wfn="" cnvstow wfn,"C:\\Windows\\Media\\chimes.wav" newcom pPerformance,IDirectMusicPerformance8 IDirectMusicPerformance8_InitAudio pPerformance,0,0,hwnd,DMUS_APATH_SHARED_STEREOPLUSREVERB,16,DMUS_AUDIOF_ALL,0 if stat<0 : dialog "InitAudio失敗" : end newcom pLoader,IDirectMusicLoader8 newcom pSegment,IDirectMusicSegment8 ;#define CLSID_DirectMusicSegment "{d2ac2882-b39b-11d1-8704-00600893b1bd}" guidCLSID_DirectMusicSegment.0=0xd2ac2882 guidCLSID_DirectMusicSegment.1=0xb39b11d1 guidCLSID_DirectMusicSegment.2=0x60000487 guidCLSID_DirectMusicSegment.3=0xbdb19308 ;#define IID_IDirectMusicSegment8 "{c6784488-41a3-418f-aa15-b35093ba42d4}" guidIID_IDirectMusicSegment8.0=0xc6784488 guidIID_IDirectMusicSegment8.1=0x41a3418f guidIID_IDirectMusicSegment8.2=0x503b15aa guidIID_IDirectMusicSegment8.3=0xd442ba93 IDirectMusicLoader8_LoadObjectFromFile pLoader,varptr(guidCLSID_DirectMusicSegment),varptr(guidIID_IDirectMusicSegment8),wfn,pSegment if stat<0 : dialog "LoadObjectFromFile失敗" : end ; pSegment->Download(pPerformance); IDirectMusicSegment8_Download pSegment,pPerformance IDirectMusicPerformance8_PlaySegmentEx pPerformance,pSegment,0,0,0,double(0),0,0,0



この記事に返信する


ONION software Copyright 1997-2023(c) All rights reserved.