#ifndef _MP3INFP_EXPORT_FUNC_H
#define _MP3INFP_EXPORT_FUNC_H

#uselib "mp3infp.dll"
/*=======================================================================================
名前:	mp3infp_GetVer
概要:	mp3infpのバージョンを取得する
引数:	なし
戻値:	DWORD	バージョン情報 
			Ver.2.11	= 0x0211
備考:	
対応:	Ver2.11〜
*/
#func global mp3infp_GetVer "mp3infp_GetVer"

/*=======================================================================================
名前:	mp3infp_ViewPropEx
概要:	mp3infpに対応したファイル形式のプロパティを開く(モーダルダイアログ版)
説明:	指定ファイルのプロパティをmp3infpのタブをアクティブにして開きます
		※シェルエクステンションを使用せずにmp3infp.dll単独の動作となります
		※シェルエクステンション標準のプロパティページは表示されません
引数:
		IN HWND hWnd		呼び出し元ウインドウハンドル
							呼び出し元ウインドウ上にダイアログを表示します
							NULLならデスクトップを指定したとみなします
		IN char *szFileName	対象ファイル名をフルパスで指定。
		IN DWORD dwPage		・mp3infpの何ページ目をアクティブにするか指定する(0=ID3v1 / 1=ID3v2 / 2=RiffSIF / 3=APE(Ver2.47))
							・タグを含まないmp3の場合のみ有効
							・タグを含む場合はID3v2/APE/RiffSIF/ID3v1の順で検索して、最初に見つかったタグをアクティブにします
		IN BOOL modeless	TRUEならプロパティを表示したまま制御を返します。戻り値にはプロパティのウインドウハンドルが入ります。
							FALSEならプロパティを閉じるまで制御を返しません。
		DWORD param1		未使用(0を指定してください)
		DWORD param2		未使用(0を指定してください)

戻値:	int 成功=0以上/失敗=-1
対応:	Ver2.48〜
*/
#func global mp3infp_ViewPropEx "mp3infp_ViewPropEx" int,int,int,int,int,int

/*=======================================================================================
名前:	mp3infp_ViewProp
概要:	mp3infpに対応したファイル形式のプロパティを開く
説明:	指定ファイルのプロパティをmp3infpのタブをアクティブにして開きます
引数:
		IN HWND hWnd		呼び出し元ウインドウハンドル
		IN char *szFileName	対象ファイル名をフルパスで指定。
		IN DWORD dwPage		・mp3infpの何ページ目をアクティブにするか指定する(0=ID3v1 / 1=ID3v2 / 2=RiffSIF / 3=APE(Ver2.47))
							・タグを含まないmp3の場合のみ有効
							・タグを含む場合はID3v2/APE/RiffSIF/ID3v1の順で検索して、最初に見つかったタグをアクティブにします

戻値:	BOOL 成功=TRUE/失敗=FALSE
対応:	Ver2.00〜
*/
#func global mp3infp_ViewProp "mp3infp_ViewProp" int,int,int

/*=======================================================================================
名前:	mp3infp_Load
概要:	タグ情報をロードする
引数:
		IN HWND hWnd		呼び出し元ウインドウを指定します。無い場合はNULL。
		IN const char *szFileName	対象ファイル名をフルパスで指定。
戻値:	DWORD 
		-1=ロード失敗
		ERROR_SUCCESS=成功
		(その他)=Win32エラーコード (FormatMessageで文字列を取得できる)
対応:	Ver2.26〜
*/
#func global mp3infp_Load "mp3infp_Load" int, int

/*=======================================================================================
////////////////////////////////////////////////////////////////////
表1 mp3infp_GetValue()/mp3infp_SetValue()でszValueNameに指定する名前一覧
////////////////////////////////////////////////////////////////////

	[共通](※1)
	ファイル名				"FILE"	(v2.41〜)
	拡張子					"FEXT"	(v2.41〜)
	パス					"PATH"	(v2.41〜)
	サイズ(byte単位)		"SIZ1"	(v2.41〜)
	サイズ(Kbyte単位)		"SIZK"	(v2.41〜)
	サイズ(Mbyte単位)		"SIZM"	(v2.41〜)

	[MP3]					ID3v1		ID3v2		RiffSIF		APE
	フォーマット(※1)		"AFMT"		"AFMT"		"AFMT"		"AFMT"
	演奏時間(※1)			"TIME"		"TIME"		"TIME"		"TIME"
	タイトル				"INAM_v1"	"INAM_v2"	"INAM_rmp"	"INAM_APE"
	アーティスト			"IART_v1"	"IART_v2"	"IART_rmp"	"IART_APE"
	アルバム				"IPRD_v1"	"IPRD_v2"	"IPRD_rmp"	"IPRD_APE"
	コメント				"ICMT_v1"	"ICMT_v2"	"ICMT_rmp"	"ICMT_APE"
	作成日					"ICRD_v1"	"ICRD_v2"	"ICRD_rmp"	"ICRD_APE"
	ジャンル				"IGNR_v1"	"IGNR_v2"	"IGNR_rmp"	"IGNR_APE"
	(ID3v2/RiffSIF)
	著作権								"ICOP_v2"	"ICOP_rmp"
	ソフトウェア/エンコーダ				"ISFT_v2"	"ISFT_rmp"
	(ID3v2)
	作曲								"COMP_v2"
	Orig.アーティスト					"OART_v2"
	URL									"URL_v2"
	エンコードした人					"ENC2_v2"
	(RiffSIF)
	ソース											"ISRC_rmp"
	エンジニア										"IENG_rmp"
	(ID3v1/2)
	トラック番号			"TRACK_v1"	"TRACK_v2"				"TRACK_APE"

	[WAV]
	フォーマット(※1)		"AFMT"
	演奏時間(※1)			"TIME"
	タイトル(※2)			"INAM"
	タイトル(※2)			"ISBJ"
	アーティスト			"IART"
	アルバム				"IPRD"
	コメント				"ICMT"
	作成日					"ICRD"
	ジャンル				"IGNR"
	著作権					"ICOP"
	ソフトウェア			"ISFT"
	ソース					"ISRC"
	エンジニア				"IENG"

	[AVI]
	音声フォーマット(※1)	"AFMT"	
	映像フォーマット(※1)	"VFMT"
	時間(※1)				"TIME"
	タイトル(※2)			"INAM"
	タイトル(※2)			"ISBJ"
	アーティスト			"IART"
	コメント				"ICMT"
	作成日					"ICRD"
	ジャンル				"IGNR"
	著作権					"ICOP"
	ソフトウェア			"ISFT"
	ソース					"ISRC"
	エンジニア				"IENG"
	AVIバージョン			"AVIV"	(v2.37〜)

	[VQF]
	フォーマット(※1)		"AFMT"
	演奏時間(※1)			"TIME"
	タイトル				"INAM"
	アーティスト			"IART"
	コメント				"ICMT"
	著作権					"ICOP"
	保存名					"FILE"

	[WMA]
	音声フォーマット(※1)	"AFMT"
	映像フォーマット(※1)	"VFMT"
	時間(※1)				"TIME"
	タイトル				"INAM"
	トラック				"TRACK"
	アーティスト			"IART"
	アルバム				"IPRD"
	コメント				"ICMT"
	作成日					"ICRD"
	ジャンル				"IGNR"
	著作権					"ICOP"
	URL(Album)				"URL1"
	URL(関連)				"URL2"

	[OGG]
	フォーマット(※1)		"AFMT"
	演奏時間(※1)			"TIME"
	タイトル				"INAM"
	アーティスト			"IART"
	アルバム				"IPRD"
	コメント				"ICMT"
	作成日					"ICRD"
	ジャンル				"IGNR"
	トラック番号			"TRACK"

	[APE]
	フォーマット(※1)		"AFMT"
	演奏時間(※1)			"TIME"
	タイトル				"INAM"
	アーティスト			"IART"
	アルバム				"IPRD"
	コメント				"ICMT"
	作成日					"ICRD"
	ジャンル				"IGNR"
	トラック番号			"TRACK"

	[MP4]	(v2.53〜)
	音声フォーマット(※1)	"AFMT"
	映像フォーマット(※1)	"VFMT"
	タイトル				"INAM"
	アーティスト			"IART"
	アルバム				"IPRD"
	グループ				"IGRP"
	作曲					"COMPOSER"
	ジャンル				"IGNR"
	トラック番号1			"TRACK1"		(1以上の数値)
	トラック番号2			"TRACK2"		(1以上の数値)
	ディスク番号1			"DISC1"			(1以上の数値)
	ディスク番号2			"DISC2"			(1以上の数値)
	テンポ					"BPM"			(数値)
	作成日					"ICRD"			(4桁の数値 例:"2004")
	コンピレーション		"COMPILATION"	("1" or "0")
	コメント				"ICMT"
	ツール					"TOOL"


(※1)mp3infp_SetValue()では利用できません。
(※2)mp3infpではロード時にINAMを優先、無ければISBJを表示。セーブ時にはISBJを削除、INAMを保存します。

*/

#define global MP3INFP_FILE_UNKNOWN	0x00
#define global MP3INFP_FILE_MP3		0x01
#define global MP3INFP_FILE_WAV		0x02
#define global MP3INFP_FILE_AVI		0x03
#define global MP3INFP_FILE_VQF		0x04
#define global MP3INFP_FILE_WMA		0x05
#define global MP3INFP_FILE_OGG		0x07
#define global MP3INFP_FILE_APE		0x08
#define global MP3INFP_FILE_MP4		0x09
/*=======================================================================================
名前:	mp3infp_GetType
概要:	ファイルの種類を取得する
補足:	mp3infp_Load()の後に呼び出してください
引数:	なし
戻値:	DWORD
#define MP3INFP_FILE_UNKNOWN	0x00
#define MP3INFP_FILE_MP3		0x01
#define MP3INFP_FILE_WAV		0x02
#define MP3INFP_FILE_AVI		0x03
#define MP3INFP_FILE_VQF		0x04
#define MP3INFP_FILE_WMA		0x05
#define MP3INFP_FILE_OGG		0x07
#define MP3INFP_FILE_APE		0x08
対応:	Ver2.26〜
#define MP3INFP_FILE_MP4		0x09
対応:	Ver2.53〜
*/
#func global mp3infp_GetType "mp3infp_GetType"

/*=======================================================================================
名前:	mp3infp_GetValue
概要:	タグ情報を取得する
補足:	mp3infp_Load()の後に呼び出してください
引数:	
		IN const char *szValueName	タグの種類を示す名前(表1を参照)
		OUT char **buf			タグ情報を示すバッファのポインタを受け取るポインタ
戻値:	BOOL 成功=TRUE/失敗=FALSE
対応:	Ver2.26〜
*/
#func global mp3infp_GetValue "mp3infp_GetValue" int,int

#define global MP3INFP_HAS_MP3_ID3V1	0x00000001
#define global MP3INFP_HAS_MP3_ID3V2	0x00000002
#define global MP3INFP_HAS_MP3_RIFFSIF	0x00000004
#define global MP3INFP_HAS_MP3_ID3V1_0	0x00000008	// v2.43〜
#define global MP3INFP_HAS_MP3_ID3V1_1	0x00000010	// v2.43〜
#define global MP3INFP_HAS_MP3_ID3V2_2	0x00000020	// v2.43〜
#define global MP3INFP_HAS_MP3_ID3V2_3	0x00000040	// v2.43〜
#define global MP3INFP_HAS_MP3_ID3V2_4	0x00000080	// v2.43〜
#define global MP3INFP_HAS_MP3_APEV1	0x00000100	// v2.47〜
#define global MP3INFP_HAS_MP3_APEV2	0x00000200	// v2.47〜
/*=======================================================================================
名前:	mp3infp_mp3_GetTagType
概要:	mp3が持っているタグの種類を取得する
補足:	mp3infp_Load()の後に呼び出してください
引数:	なし
戻値:	DWORD (OR)
#define MP3INFP_HAS_MP3_ID3V1	0x00000001
#define MP3INFP_HAS_MP3_ID3V2	0x00000002
#define MP3INFP_HAS_MP3_RIFFSIF	0x00000004
#define MP3INFP_HAS_MP3_ID3V1_0	0x00000008	// v2.43〜
#define MP3INFP_HAS_MP3_ID3V1_1	0x00000010	// v2.43〜
#define MP3INFP_HAS_MP3_ID3V2_2	0x00000020	// v2.43〜
#define MP3INFP_HAS_MP3_ID3V2_3	0x00000040	// v2.43〜
#define MP3INFP_HAS_MP3_ID3V2_4	0x00000080	// v2.43〜
#define MP3INFP_HAS_MP3_APEV1	0x00000100	// v2.47〜
#define MP3INFP_HAS_MP3_APEV2	0x00000200	// v2.47〜
対応:	Ver2.27〜
*/
#func global mp3infp_mp3_GetTagType "mp3infp_mp3_GetTagType"

/*=======================================================================================
名前:	mp3infp_SetConf
概要:	mp3infpの動作設定
引数:	IN char *tag		設定項目(表2参照)
		IN char *val		設定値(表2参照)
戻値:	BOOL 成功=TRUE/失敗=FALSE
対応:	Ver2.42〜
補足:	・他のプロセスのmp3infp.dll/シェル拡張のmp3infpには影響しない
		・設定内容は保存されない
*/
#func global mp3infp_SetConf "mp3infp_SetConf" int,int

/*=======================================================================================
////////////////////////////////////////////////////////////////////
mp3infp_SetConf()指定する設定項目・値一覧
////////////////////////////////////////////////////////////////////

	[Waveファイルのコーデック名称の取得方法](Ver2.42〜)
	(項目名)
	"wave_CodecFind"
	(値)
	"0"(default)	mp3infp内蔵辞書 → Windows APIを利用の順で検索(高速)
	"1"				Windows APIを利用 → 自力解析の順で検索(低速)
	"2"				mp3infp内蔵辞書(高速)
	"3"				Windows APIを利用(低速)
	
	[Aviファイルのコーデック名称の取得方法](Ver2.42〜)
	(項目名)
	"avi_CodecFind"
	(値)
	"0"(default)	mp3infp内蔵辞書 → Windows APIを利用の順で検索(高速)
	"1"				Windows APIを利用 → 自力解析の順で検索(低速)
	"2"				mp3infp内蔵辞書(高速)
	"3"				Windows APIを利用(低速)

	[ID3v1で拡張ジャンルを使用する](Ver2.43〜)
	(項目名)
	"mp3_UseExtGenre"
	(値)
	"0"(default)	無効
	"1"				有効

	[ID3v2で文字列をUnicodeで書き込む](Ver2.43〜)
	(項目名)
	"mp3_ID3v2Unicode"
	(値)
	"0"(default)	無効
	"1"				有効

	[ID3v2を非同期化する](Ver2.43〜)
	(項目名)
	"mp3_ID3v2Unsync"
	(値)
	"0"				無効
	"1"(default)	有効

	[保存時のID3v2バージョン](Ver2.43〜)
	※この設定値はmp3infp_Load()の実行によって上書きされます。
	(項目名)
	"mp3_SaveID3v2Version"
	(値)
	"2.2"			ID3v2.2
	"2.3"(default)	ID3v2.3
	"2.4"			ID3v2.4
*/

/*=======================================================================================
名前:	mp3infp_SetValue
概要:	タグ情報を設定する
補足:	mp3infp_Load()の後に呼び出してください
引数:	
		IN const char *szValueName	タグの種類を示す名前(表1を参照)
		IN const char *buf			タグ情報を示す文字列
戻値:	DWORD
		-1=失敗
		ERROR_SUCCESS=成功
対応:	Ver.2.43〜
*/
#func global mp3infp_SetValue "mp3infp_SetValue" str,str

/*=======================================================================================
名前:	mp3infp_Save
概要:	タグ情報を保存する
補足:	mp3infp_Load()の後に呼び出してください
引数:	IN const char *szFileName	対象ファイル名をフルパスで指定。
戻値:	DWORD 
		-1=失敗
		-2=2Gバイトを超えるファイルを扱うことはできません。(WAVファイルのみ)
		ERROR_SUCCESS=成功
		(その他)=Win32エラーコード (FormatMessageで文字列を取得できる)
対応:	Ver.2.43〜
*/
#func global mp3infp_Save "mp3infp_Save" int

/*=======================================================================================
名前:	mp3infp_mp3_MakeId3v1
概要:	ID3TAG V1を作成する
補足:	mp3infp_Load()の後に呼び出してください
		変更は直ちに反映されます
		mp3ファイルにのみ利用してください(wavファイルは対象外)
引数:	IN char *szFileName	対象ファイル名をフルパスで指定。
戻値:	DWORD 
		-1=失敗
		ERROR_SUCCESS=成功
		(その他)=Win32エラーコード (FormatMessageで文字列を取得できる)
対応:	Ver.2.43〜
*/
#func global mp3infp_mp3_MakeId3v1 "mp3infp_mp3_MakeId3v1" int

/*=======================================================================================
名前:	mp3infp_mp3_DelId3v1
概要:	ID3TAG V1を削除する
補足:	mp3infp_Load()の後に呼び出してください
		変更は直ちに反映されます
		mp3ファイルにのみ利用してください(wavファイルは対象外)
引数:	IN char *szFileName	対象ファイル名をフルパスで指定。
戻値:	DWORD 
		-1=失敗
		ERROR_SUCCESS=成功
		(その他)=Win32エラーコード (FormatMessageで文字列を取得できる)
対応:	Ver.2.43〜
*/
#func global mp3infp_mp3_DelId3v1 "mp3infp_mp3_DelId3v1" int

/*=======================================================================================
名前:	mp3infp_mp3_MakeId3v2
概要:	ID3TAG V2を作成する
補足:	mp3infp_Load()の後に呼び出してください
		変更は直ちに反映されます
		mp3ファイルにのみ利用してください(wavファイルは対象外)
引数:	IN char *szFileName	対象ファイル名をフルパスで指定。
戻値:	DWORD 
		-1=失敗
		ERROR_SUCCESS=成功
		(その他)=Win32エラーコード (FormatMessageで文字列を取得できる)
対応:	Ver.2.43〜
*/
#func global mp3infp_mp3_MakeId3v2 "mp3infp_mp3_MakeId3v2" int

/*=======================================================================================
名前:	mp3infp_mp3_DelId3v2
概要:	ID3TAG V2を削除する
補足:	mp3infp_Load()の後に呼び出してください
		変更は直ちに反映されます
		mp3ファイルにのみ利用してください(wavファイルは対象外)
引数:	IN char *szFileName	対象ファイル名をフルパスで指定。
戻値:	DWORD 
		-1=失敗
		ERROR_SUCCESS=成功
		(その他)=Win32エラーコード (FormatMessageで文字列を取得できる)
対応:	Ver.2.43〜
*/
#func global mp3infp_mp3_DelId3v2 "mp3infp_mp3_DelId3v2" int

/*=======================================================================================
名前:	mp3infp_mp3_MakeRMP
概要:	mp3形式からRMP形式に変換する
補足:	mp3infp_Load()の後に呼び出してください
		変更は直ちに反映されます
		mp3ファイルにのみ利用してください(wavファイルは対象外)
引数:	IN char *szFileName	対象ファイル名をフルパスで指定。
戻値:	DWORD 
		-1=失敗
		ERROR_SUCCESS=成功
		(その他)=Win32エラーコード (FormatMessageで文字列を取得できる)
対応:	Ver.2.43〜
*/
#func global mp3infp_mp3_MakeRMP "mp3infp_mp3_MakeRMP" int

/*=======================================================================================
名前:	mp3infp_mp3_DelRMP
概要:	RMP形式からmp3形式に変換する
補足:	mp3infp_Load()の後に呼び出してください
		変更は直ちに反映されます
		mp3ファイルにのみ利用してください(wavファイルは対象外)
引数:	IN char *szFileName	対象ファイル名をフルパスで指定。
戻値:	DWORD 
		-1=失敗
		ERROR_SUCCESS=成功
		(その他)=Win32エラーコード (FormatMessageで文字列を取得できる)
対応:	Ver.2.43〜
*/
#func global mp3infp_mp3_DelRMP "mp3infp_mp3_DelRMP" int

/*=======================================================================================
名前:	mp3infp_mp3_MakeApeTag
概要:	APE Tagを作成する
補足:	mp3infp_Load()の後に呼び出してください
		変更は直ちに反映されます
		mp3ファイルにのみ利用してください(wavファイルは対象外)
引数:	IN char *szFileName	対象ファイル名をフルパスで指定。
戻値:	DWORD 
		-1=失敗
		ERROR_SUCCESS=成功
		(その他)=Win32エラーコード (FormatMessageで文字列を取得できる)
対応:	Ver.2.47〜
*/
#func global mp3infp_mp3_MakeApeTag "mp3infp_mp3_MakeApeTag" int

/*=======================================================================================
名前:	mp3infp_mp3_DelApeTag
概要:	APE Tagを削除する
補足:	mp3infp_Load()の後に呼び出してください
		変更は直ちに反映されます
		mp3ファイルにのみ利用してください(wavファイルは対象外)
引数:	IN char *szFileName	対象ファイル名をフルパスで指定。
戻値:	DWORD 
		-1=失敗
		ERROR_SUCCESS=成功
		(その他)=Win32エラーコード (FormatMessageで文字列を取得できる)
対応:	Ver.2.47〜
*/
#func global mp3infp_mp3_DelApeTag "mp3infp_mp3_DelApeTag" int

#endif //_MP3INFP_EXPORT_FUNC_H



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-09-09 (木) 06:00:53