Const ME_NOERR = 0 ' return normally;正常終了
Const ME_EMPTYSTREAM = 1 ' stream becomes empty;ストリームが最後に達した
Const ME_HALTED = 2 ' stopped by user;(ユーザーの手により)中断された
Const ME_INTERNALERROR = 10' internal error; 内部エラー
Const ME_PARAMERROR = 11' parameters error;設定でパラメーターエラー
Const ME_NOFPU = 12' no FPU;FPUを装着していない!!
Const ME_INFILE_NOFOUND = 13' can't open input file;入力ファイルを正しく開けない
Const ME_OUTFILE_NOFOUND = 14' can't open output file;出力ファイルを正しく開けない
Const ME_FREQERROR = 15' frequency is not good;入出力周波数が正しくない
Const ME_BITRATEERROR = 16' bitrate is not good;出力ビットレートが正しくない
Const ME_WAVETYPE_ERR = 17' WAV format is not good;ウェーブタイプが正しくない
Const ME_CANNOT_SEEK = 18' can't seek;正しくシーク出来ない
Const ME_BITRATE_ERR = 19' only for compatibility;ビットレート設定が正しくない
Const ME_BADMODEORLAYER = 20' mode/layer not good;モード・レイヤの設定異常
Const ME_NOMEMORY = 21' fail to allocate memory;メモリアローケーション失敗
Const ME_CANNOT_SET_SCOPE = 22' thread error;スレッド属性エラー(pthread only)
Const ME_CANNOT_CREATE_THREAD = 23' fail to create thear;スレッド生成エラー
Const ME_WRITEERROR = 24' lock of capacity of disk;記憶媒体の容量不足
'------------------------------
' Configuration
'------------------------------
' for INPUT
Const MC_INPUTFILE = 1
' para1 choice of input device
Const MC_INPDEV_FILE = 0 ' input device is file;入力デバイスはファイル
Const MC_INPDEV_STDIO = 1 ' stdin;入力デバイスは標準入力
Const MC_INPDEV_USERFUNC = 2 ' defined by user;入力デバイスはユーザー定義
' para2 (必要であれば)ファイル名。ポインタを指定する
' メモリよりエンコードの時は以下の構造体のポインタを指定する.
Type MCP_INPDEV_USERFUNC {
pUserFunc As VoidPtr ' pointer to user-function for call-back or MPGE_NULL_FUNC if none
' コールバック対象のユーザー関数。未定義時MPGE_NULL_FUNCを代入
nSize As DWord ' size of file or MC_INPDEV_MEMORY_NOSIZE if unknown
' ファイルサイズ。不定の時は MC_INPDEV_MEMORY_NOSIZEを指定
nBit As Long ' nBit = 8 or 16 ; PCMビット深度を指定
nFreq As Long ' input frequency ; 入力周波数の指定
nChn As Long ' number of channel(1 or 2) ; チャネル数
End Type
Const MC_INPDEV_MEMORY_NOSIZE = 4294967295
/*
Using userfunction input;
ユーザー関数利用時の挙動
^^^^^^^^^^^^^^^^^^^^^^^^
ユーザーが登録した関数 UsefFuncに対して、DLLより読み込み要求が行われる。
MERET UserFunc_input(void *buf, unsigned long nLength );
要求を処理する際に
・void *buf には nLength バイト分のデータを格納、 return ME_NOERRで抜ける
・ファイルの最後に達して、nLength分読み込めない(かつ少なくとも1バイト以上読み込める)場合、
memset( buf + 読み込んだデータbyte, 0, nLength - 読み込んだデータサイズ) ;
として return ME_NOERR する。
・1バイトも読めない場合は、何もせず return ME_EMPTYSTREAM; で抜ける
*/
'------------------------------
' for OUTPUT ( now stdout is not support )
Const MC_OUTPUTFILE = 2
' para1 choice of output device
Const MC_OUTDEV_FILE = 0 ' output device is file;出力デバイスはファイル
Const MC_OUTDEV_STDOUT = 1 ' stdout; 出力デバイスは標準出力
Const MC_OUTDEV_USERFUNC = 2 ' defined by user;出力デバイスはユーザー定義
Const MC_OUTDEV_USERFUNC_WITHVBRTAG = 3' defined by user;入力デバイスはユーザー定義/VBRタグ書き出し
' para2 pointer to file if necessary ;(必要であれば)ファイル名。ポインタ指定
/*
Using userfunction output
ユーザー関数利用時の挙動
^^^^^^^^^^^^^^^^^^^^^^^^
ユーザーが登録した関数 UsefFuncに対して、DLLより書込み要求が行われる。
MERET UserFunc_output(void *buf, unsigned long nLength );
要求を処理する際に
・void *buf には nLength バイト分のデータが格納されているので
fwrite( buf, 1, nLength, fp );の様にして書き出しreturn ME_NOERRで抜ける.
書き出しに失敗した時は、return ME_WRITEERROR;で抜ける.
・最後に buf == NULLで1度呼び出される. return 値は何でも良い。
= MC_OUTDEV_USERFUNC_WITHVBRTAGで登録した際には、以下の挙動が追加される)
・もう一度buf == NULLで呼び出される.この際にファイルの先頭へシークし、
ファイル全体のサイズを returnの値とする。filesize<=0の時は終了。
(誤って return ME_NOERR; で抜けない様に注意!! )
・XING-VBRタグデータが bufに、XINGVBRタグのサイズが nLengthに格納されて呼び出される.
・最後にもう一度buf == NULLで呼び出される.
*/
'------------------------------
' mode of encoding ;エンコードタイプ
Const MC_ENCODEMODE = 3
' para1 mode;モード設定
Const MC_MODE_MONO = 0 ' mono;モノラル
Const MC_MODE_STEREO = 1 ' stereo;ステレオ
Const MC_MODE_JOINT = 2 ' joint-stereo;ジョイント
Const MC_MODE_MSSTEREO = 3 ' mid/side stereo;ミッドサイド
Const MC_MODE_DUALCHANNEL = 4 ' dual channel;デュアルチャネル
'------------------------------
' bitrate;ビットレート設定
Const MC_BITRATE = 4
' para1 bitrate;ビットレート 即値指定
'------------------------------
' frequency of input file (force);入力で用いるサンプル周波数の強制指定
Const MC_INPFREQ = 5
' para1 frequency;入出力で用いるデータ
'------------------------------
' frequency of output mp3 (force);出力で用いるサンプル周波数の強制指定
Const MC_OUTFREQ = 6
' para1 frequency;入出力で用いるデータ
'------------------------------
' size ofheader if you ignore WAV-header (for example cda);エンコード開始位置の強制指定(ヘッダを無視する時)
Const MC_STARTOFFSET = 7
'------------------------------
' psycho-acoustics ON/OFF;心理解析 ON/OFF
Const MC_USEPSY = 8
' PARA1 boolean(TRUE/FALSE)
'------------------------------
' 16kHz low-pass filter ON/OFF;16KHz低帯域フィルタ ON/OFF
Const MC_USELPF16 = 9
' PARA1 boolean(TRUE/FALSE)
'------------------------------
' use special UNIT, para1:boolean; ユニット指定 para1:BOOL値
Const MC_USEMMX = 10' MMX
Const MC_USE3DNOW = 11' 3DNow!
Const MC_USEKNI = 12' SSE(KNI)
Const MC_USEE3DNOW = 13' Enhanced 3D Now!
Const MC_USESPC1 = 14' special switch for debug
Const MC_USESPC2 = 15' special switch for debug
'------------------------------
' addition of TAG; ファイルタグ情報付加
Const MC_ADDTAG = 16
' dwPara1 length of TAG;タグ長
' dwPara2 pointer to TAG;タグデータのポインタ
'------------------------------
' emphasis;エンファシスタイプの設定
Const MC_EMPHASIS = 17
' para1 type of emphasis;エンファシスタイプの設定
Const MC_EMP_NONE = 0 ' no empahsis;エンファシスなし(dflt)
Const MC_EMP_5015MS = 1 ' 50/15ms ;エンファシス50/15ms
Const MC_EMP_CCITT = 3 ' CCITT ;エンファシスCCITT
'------------------------------
' use VBR;VBRタイプの設定
Const MC_VBR = 18
'------------------------------
' SMP support para1: interger
Const MC_CPU = 19
'------------------------------
' for RAW-PCM; 以下4つはRAW-PCMの設定のため
' byte swapping for 16bitPCM; PCM入力時のlow, high bit 変換
Const MC_BYTE_SWAP = 20
'------------------------------
' for 8bit PCM
Const MC_8BIT_PCM = 21
'------------------------------
' for mono PCM
Const MC_MONO_PCM = 22
'------------------------------
' for Towns SND
Const MC_TOWNS_SND = 23
'------------------------------
' BeOS & Win32 Encode thread priority
Const MC_THREAD_PRIORITY = 24
' (WIN32) dwPara1 MULTITHREAD Priority (THREAD_PRIORITY_**** at WinBASE.h )
'------------------------------
' BeOS Read thread priority
'#if defined(USE_BTHREAD)
Const MC_READTHREAD_PRIORITY = 25
'#endif
'------------------------------
' output format
Const MC_OUTPUT_FORMAT = 26
' para1
Const MC_OUTPUT_NORMAL = 0 ' mp3+TAG(see MC_ADDTAG)
Const MC_OUTPUT_RIFF_WAVE = 1 ' RIFF/WAVE
Const MC_OUTPUT_RIFF_RMP = 2 ' RIFF/RMP
'------------------------------
' LIST/INFO chunk of RIFF/WAVE or RIFF/RMP
Const MC_RIFF_INFO = 27
' para1 size of info(include info name)
' para2 pointer to info
' offset contents
' 0..3 info name
' 4..size of info-1 info
'------------------------------
' verify and overwrite
Const MC_VERIFY = 28
'------------------------------
' output directory
Const MC_OUTPUTDIR = 29
'------------------------------
' VBRの最低/最高ビットレートの設定
Const MC_VBRBITRATE = 30
' para1 最低ビットレート (kbps)
' para2 最高ビットレート (kbps)
'------------------------------
' 拡張フィルタの使用 LPF1, LPF2
Const MC_ENHANCEDFILTER = 31
' para1 LPF1 (0-100)
' para2 LPF2 (0-100)
'------------------------------
' Joint-stereoにおける、ステレオ/MSステレオの切り替えの閾値
Const MC_MSTHRESHOLD = 32
' para1 threshold (0-100)
' para2 mspower (0-100)
'------------------------------
' Language
Const MC_LANG = 33
' t_lang defined in message.h
'------------------------------
' for getting configuration
'------------------------------
Const MG_INPUTFILE = 1 ' name of input file ;入力ファイル名取得
Const MG_OUTPUTFILE = 2 ' name of output file;出力ファイル名取得
Const MG_ENCODEMODE = 3 ' type of encoding ;エンコードモード
Const MG_BITRATE = 4 ' bitrate ;ビットレート
Const MG_INPFREQ = 5 ' input frequency ;入力周波数
Const MG_OUTFREQ = 6 ' output frequency ;出力周波数
Const MG_STARTOFFSET = 7 ' offset of input PCM;スタートオフセット
Const MG_USEPSY = 8 ' psycho-acoustics ;心理解析を使用する/しない
Const MG_USEMMX = 9 ' MMX
Const MG_USE3DNOW = 10' 3DNow!
Const MG_USEKNI = 11' SSE(KNI)
Const MG_USEE3DNOW = 12' Enhanced 3DNow!
Const MG_USESPC1 = 13' special switch for debug
Const MG_USESPC2 = 14' special switch for debug
Const MG_COUNT_FRAME = 15' amount of frame
Const MG_NUM_OF_SAMPLES = 16' number of sample for 1 frame;1フレームあたりのサンプル数
Const MG_MPEG_VERSION = 17' MPEG VERSION
Const MG_READTHREAD_PRIORITY = 18' thread priority to read for BeOS
Declare Function MPGE_initializeWork Lib "gogo.dll" Alias "MPGE_initializeWorkVB" () As Long
Declare Function MPGE_setConfigure Lib "gogo.dll" Alias "MPGE_setConfigureVB" ( mode As DWord, dwPara1 As DWord, dwPara2 As DWord) As Long
Declare Function MPGE_detectConfigure Lib "gogo.dll" Alias "MPGE_detectConfigureVB" () As Long
Declare Function MPGE_getConfigure Lib "gogo.dll" Alias "MPGE_getConfigureVB" ( mode As DWord, dwParam As VoidPtr) As Long
Declare Function MPGE_processFrame Lib "gogo.dll" Alias "MPGE_processFrameVB" () As Long
Declare Function MPGE_closeCoder Lib "gogo.dll" Alias "MPGE_closeCoderVB" () As Long
Declare Function MPGE_endCoder Lib "gogo.dll" Alias "MPGE_endCoderVB" () As Long
Declare Function MPGE_getUnitStates Lib "gogo.dll" ( unit As DWordPtr) As Long
Declare Function MPGE_getVersion Lib "gogo.dll" Alias "MPGE_getVersionVB" ( vercode As DWordPtr, verstring As BytePtr) As Long
最終更新:2010年01月22日 04:28