---------------------------------------------------------------------------- 【ソ フ ト名】SMFナイフDLL 32bit Version SMFK32.DLL +SDK V2.62 【作 成 者】須釜俊一 (NIFTY SERVE:VEN10211) 【登 録 名】SFK32262.LZH 【動作 環境】Windows2000/Me/95/98/NTの動作する環境 【配布 方法】シェアウェア (\1000) 【転   載】基本的に自由 (DOC参照) 【圧縮 形式】LHA -lh5- 【掲載 月日】2001/6/21 ---------------------------------------------------------------------------- SMFナイフDLL 32bit Version SMFK32.DLL SDK v2.62 (c) 1996 - 2001 Toshikazu Sugama All Right Reserved. ============================================================================= 1.SMFK32.DLLについて 2.インストール方法 3.APIの説明 4.SMFナイフ オプション構造体の説明 ============================================================================= 1.SMFK32.DLLについて SMFK32.DLLは、SMFナイフの変換ルーチンを他のアプリケーションから呼び 出せるように設計された32bitのDLLです。SMFナイフと同一ソースの変換ルー チンを利用していますので、全く同じ変換結果を得ることができます。 SMFK32.DLLは、SMFナイフ for Win32のサブセットという形にさせて頂きま す。つまり、SMFナイフ for Win32のレジストユーザーのみがSMFK32.DLLも利 用可能です。 SMFナイフ for Win32と違って、未登録時でもFormat1のデータを変換するこ ともできます。ただし、変換するごとにダイアログボックスが表示されます。 ここで、SMFナイフ for Win32と共通のレジストコードを入力すれば以降は表示 されなくなります。 V2.60 より SMFナイフ本体とSMFK32.DLLのレジストは別々に行う必要がありま す。レジストコードは同一です。レジスト料は\1,000です。 ============================================================================= 2.インストール方法 一般ユーザーは、SMFK32.DLLをWINDOWSのSYSTEMフォルダにコピーするだけです。 デベロッパーの方は、 ・SMFK32.H C、C++言語用 ヘッダファイル ・SMFK32.LIB インポートライブラリ(Visual C++ 6.0 SP5) ・SMFK32.DOC ドキュメント をご利用ください。インポートライブラリはなるべく使用せず、LoadLibrary()を 使ったダイナミックリンクを推奨致します。 ============================================================================= 3.APIの説明 ---------------------------------------------------------------------------- int WINAPI GetSmfkVersion(void) 戻り値:SMFナイフのバージョン 例:205 -> v2.05 SMFナイフ変換エンジンのバージョンを得ます。 ----------------------------------------------------------------------------- int WINAPI SmfkConvert(HWND hWnd,LPSTR szInfile,LPSTR szOutfile, LPSTR szInCfgFile,LPSTR szOutCfgFile, LPSMFKOPTIONINFO lpOpt, SMFKCALLBACK lpSmfkCallBackProc) hWnd : 呼び出し元のウィンドウハンドル szInFile : 入力SMFファイル名 szOutFile : 出力SMFファイル名 szInCfgFile : 入力CFGファイル名 szOutCfgFile : 出力CFGファイル名 (無視されます) lpOpt : SMFナイフオプション構造体へのポインタ lpSmfkCallBackProc : ユーザー定義コールバック関数へのポインタ 必要のないときはNULL 戻り値 : -1 正常終了 -2 正常終了だが、正しく変換できないタイプのFORMAT 1 SMFであった 1 コンフィグファイルが読めない 2 SMFファイルが読めない 3 出力SMFファイルが開けない 4 SMFファイルが正常でない 5 メモリが足りない 6 CFGファイルが出力できない 7 ユーザーによる中断 変換を行ないます。出力ファイルは上書きされます。 ----------------------------------------------------------------------------- int SmfkCallBackProc(int nValue,LPARAM lParam) nValue : 進行状況を0〜99で表します。 lParam : OPTIONINFO構造体のlParamメンバで設定された値が渡されます。 戻り値: FALSE 変換を中断する TRUE そのまま変換を続行する SMFナイフ変換中の情報を得るためのユーザー定義コールバック関数です。 nValueに進行状況が入ってますので、ユーザープログラムは、プログレスバーなど を利用して進行状況を表示することができます。 戻り値にFALSEにすると、変換作業を中止します。出力途中のMIDファイルは削除 されます。 なお、nValueは変換元のファイルサイズにたいして、変換先のファイルのサイズ を%で返しますので、必ずしも最終値が99とは限りません。 SmfkCallBackProc()はユーザー定義関数のプレースホルダです。 ============================================================================= 4.SMFKOPTIONINFO 構造体のメンバの説明 typedef struct { DWORD dwSize; int nJv; int nBnk; int nP; int nMac; LPARAM lParam; } SMFKOPTIONINFO,*LPSMFKOPTIONINFO; dwSize 構造体のサイズ (=sizeof(SMFKOPTIONINFO)) nJv 0 : リズムパートをCh.10に統合する. -1 : 統合しない nMac 0 : MAC BINARY を カットしない. -1 : カットする nBnk 0 : バンクセレクト例外処理をする -1 : しない v1.05以前では以下の設定もできましたが、本バージョンからは設定の如何 にかかわらず -1 になります。(将来もう一度復活する可能性有) nP 0 : CC#64をノートイベントで置換する -1 : 置換しない lParam コールバック関数に引き渡すユーザー定義のLPARAM値 ============================================================================= SMFK32.DLL の著作権は須釜俊一が所有しています。転載は法律の範囲内で自由に行 なって結構です。ただしDLLのみの転載は禁止致します。必ずアーカイブをそのまま の内容でご転載ください。また、アプリケーションにSMFK32.DLLをバンドルしたい方 は、メールにて詳細をご連絡ください。 SMFナイフDLLを自作アプリケーションに対応させたい方は、メールにてご連絡 くだされば、パスワードを発行致します。 ------------------------------------------------------------------------------ E-MAIL : VEN10211@nifty.com 須釜俊一 Web : http://www.smfknife.com/