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

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2010年01月22日 04:28