OSDN Git Service

jQueryのアップデートに伴う変更。
[nacltest/xmplayer.git] / _mod.h
diff --git a/_mod.h b/_mod.h
index ba5af06..91c35f2 100644 (file)
--- a/_mod.h
+++ b/_mod.h
@@ -1,4 +1,4 @@
-#ifndef        _MOD_H__000314_1610             /* \82Q\8fd\83C\83\93\83N\83\8b\81[\83h\96h\8e~\82Ì\94Ô\95º */
+#ifndef     _MOD_H__000314_1610             /* 2重インクルード防止の番兵 */
 #define        _MOD_H__000314_1610
 #include "_allinc2.h"
 
@@ -9,97 +9,97 @@
 #define                MAX_CHANNELS                            ( 64 )
 
 
-/*\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª
-\81¥     \8d\\91¢\91Ì\82Ì\8c^
-\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª*/
+/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+▼    構造体の型
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
 
 
 
-/* \83C\83\93\83X\83g\83D\81[\83\8b\83\81\83\93\83g\82Ì\83G\83\93\83x\83\8d\81[\83v\90§\8cä\93_ */
+/* インストゥールメントのエンベロープ制御点 */
 struct ENVELOPE {
-       U16             x ;                                             /* \83G\83\93\83x\83\8d\81[\83v\90§\8cä\93_\82Ì x \8dÀ\95W */
-       U16             y ;                                             /* \83G\83\93\83x\83\8d\81[\83v\90§\8cä\93_\82Ì y \8dÀ\95W */
+       U16             x ;                                             /* エンベロープ制御点の x 座標 */
+       U16             y ;                                             /* エンベロープ制御点の y 座標 */
 };
 
-/* \89\89\91t\92\86\82Ì\8bÈ\82Ì\8fó\91Ô\82ð\95\\82· */
+/* 演奏中の曲の状態を表す */
 #pragma pack(push)
 #pragma pack(1)
 struct MOD {
-       S32     FormatType ;                    /* \83t\83H\81[\83}\83b\83g\83^\83C\83v */
+       S32     FormatType ;                    /* フォーマットタイプ */
 
-       S32     bLoopMode ;                             /* \83\8b\81[\83v\8dÄ\90\83\82\81[\83h\82©\81H TRUE / FALSE */
-       S32     bAutoGainControl ;              /* \8e©\93®\83Q\83C\83\93\83R\83\93\83g\83\8d\81[\83\8b\82·\82é\82©\81H TRUE / FALSE */
-       S32     bDone ;                                 /* \8dÄ\90\8fI\97¹\82µ\82½\82©\81H TRUE / FALSE */
+       S32     bLoopMode ;                             /* ループ再生モードか? TRUE / FALSE */
+       S32     bAutoGainControl ;              /* 自動ゲインコントロールするか? TRUE / FALSE */
+       S32     bDone ;                                 /* 再生終了したか? TRUE / FALSE */
 
-       S32     TickCount ;                             /* \83e\83\93\83|\8f\88\97\9d\97p */
-       S32     nTickPerRow ;                   /* \83e\83\93\83|\8f\88\97\9d\97p\81i1 Row \82 \82½\82è\82Ì tick \90\94\81j*/
+       S32     TickCount ;                             /* テンポ処理用 */
+       S32     nTickPerRow ;                   /* テンポ処理用(1 Row あたりの tick 数)*/
        S32     BPM ;                                   /* BPM */
-       S32     nWavePerSec ;                   /* WAVE \8fo\97Í\83f\83o\83C\83X\82Ì\8eü\94g\90\94(Hz) */
-       S32     nWavePerTick ;                  /* \8dÅ\8f¬\8a\84\82è\8d\9e\82Ý\92P\88Ê\8aú\8aÔ\93\96\82½\82è\82Ì\90\90¬\94g\8c`\90\94 */
-       S32     nRestWave ;                             /* \8e\9f\82Ì\8a\84\82è\8d\9e\82Ý\82Ü\82Å\82Ì\8ec\91\94g\8c`\83f\81[\83^\90\94 */
+       S32     nWavePerSec ;                   /* WAVE 出力デバイスの周波数(Hz) */
+       S32     nWavePerTick ;                  /* 最小割り込み単位期間当たりの生成波形数 */
+       S32     nRestWave ;                             /* 次の割り込みまでの残存波形データ数 */
 
-       S32     Row ;                                   /* \83p\83^\81[\83\93\83f\81[\83^\93à\83X\83L\83\83\83\93\88Ê\92u */
-       S32     BreakSequence ;                 /* \95ª\8aò\90æ\81iSequence\81j*/
-       S32     BreakRow ;                              /* \95ª\8aò\90æ\81iRow\81j*/
-       S32     PatternDelay ;                  /* \83R\83}\83\93\83h EEx \97p\92x\89\84\90\94\81iRow \92P\88Ê\81j */
-       S32     FinePatternDelay ;              /* \83R\83}\83\93\83h X6x \97p\92x\89\84\90\94\81iTick \92P\88Ê\81j */
+       S32     Row ;                                   /* パターンデータ内スキャン位置 */
+       S32     BreakSequence ;                 /* 分岐先(Sequence)*/
+       S32     BreakRow ;                              /* 分岐先(Row)*/
+       S32     PatternDelay ;                  /* コマンド EEx 用遅延数(Row 単位) */
+       S32     FinePatternDelay ;              /* コマンド X6x 用遅延数(Tick 単位) */
 
-       S32     idxSequenceData ;               /* \83V\81[\83P\83\93\83X\83f\81[\83^\93Ç\82Ý\8eæ\82è\88Ê\92u */
+       S32     idxSequenceData ;               /* シーケンスデータ読み取り位置 */
 
-       S32     GlobalVolume_ ;                 /* \83O\83\8d\81[\83o\83\8b\83{\83\8a\83\85\81[\83\80\81i0x00_ \81` 0x40_\81j*/
-       S32     GlobalVolumeSlide ;             /* \83O\83\8d\81[\83o\83\8b\83{\83\8a\83\85\81[\83\80\81A\83X\83\89\83C\83h\92l */
-       S32     GlobalVolumeScale_ ;    /* \91S\91Ì\82Ì\89¹\97Ê\83X\83P\81[\83\8a\83\93\83O\92l\81i0_ \81` 1_\81j*/
-       S32     GainControlScale_ ;             /* \83Q\83C\83\93\92²\90®\97\89¹\97Ê\83X\83P\81[\83\8a\83\93\83O\92l\81i0_ \81` 1_\81j*/
+       S32     GlobalVolume_ ;                 /* グローバルボリューム(0x00_ ~ 0x40_)*/
+       S32     GlobalVolumeSlide ;             /* グローバルボリューム、スライド値 */
+       S32     GlobalVolumeScale_ ;    /* 全体の音量スケーリング値(0_ ~ 1_)*/
+       S32     GainControlScale_ ;             /* ゲイン調整用 音量スケーリング値(0_ ~ 1_)*/
 
-       /* \83v\83`\83m\83C\83Y\91Î\8dô */
-       S32     AntiNoiseVal_L ;                /* \94g\8c`\82Ì\8fC\90³\92l\81A\8d */
-       S32     AntiNoiseVal_R ;                /* \94g\8c`\82Ì\8fC\90³\92l\81A\89E */
+       /* プチノイズ対策 */
+       S32     AntiNoiseVal_L ;                /* 波形の修正値、左 */
+       S32     AntiNoiseVal_R ;                /* 波形の修正値、右 */
 
-       /* XM \8c`\8e® \83w\83b\83_\81[\8fî\95ñ \82»\82Ì\82P */
+       /* XM 形式 ヘッダー情報 その1 */
        struct XM_ID {
-               char    aszID_Text[ 17 ];               /* XM \8c`\8e®\8e¯\95Ê\95\8e\9a\97ñ */
-               char    aszModuleName[ 21 ];    /* \83f\81[\83^\82Ì\96¼\91O\81i1\95\8e\9a\97]\95ª\82É\81j*/
-               S32             ID_Byte ;                               /* XM \8c`\8e®\8e¯\95Ê\97p */
-               char    aszTrackerName[ 21 ];   /* \96{\83f\81[\83^\82ð\8dì\90¬\82µ\82½\83g\83\89\83b\83J\81[\96¼\81i1\95\8e\9a\97]\95ª\82É\81j*/
-               S32             VersionNumber ;                 /* \83f\81[\83^\82Ì\83o\81[\83W\83\87\83\93\83i\83\93\83o\81[ */
+               char    aszID_Text[ 17 ];               /* XM 形式識別文字列 */
+               char    aszModuleName[ 21 ];    /* データの名前(1文字余分に)*/
+               S32             ID_Byte ;                               /* XM 形式識別用 */
+               char    aszTrackerName[ 21 ];   /* 本データを作成したトラッカー名(1文字余分に)*/
+               S32             VersionNumber ;                 /* データのバージョンナンバー */
        } XmId ;
 
-       /* XM \8c`\8e® \83w\83b\83_\81[\8fî\95ñ \82»\82Ì\82Q */
+       /* XM 形式 ヘッダー情報 その2 */
        struct XM_HEADER {
-               S32             HeaderSize ;                    /* \83w\83b\83_\81[\97Ì\88æ\82Ì\83T\83C\83Y */
-               S32             SongLength ;                    /* aPatternOrderTable \82Ì\92·\82³\82É\8a·\8eZ\82µ\82½\81A\8bÈ\82Ì\91S\92· */
-               S32             RestartPosition ;               /* \8bÈ\82Ì\83\8b\81[\83v\8e\9e\81A\95\9c\8bA\88Ê\92u */
-               S32             NumberOfChannels ;              /* \91\8d\83`\83\83\83\93\83l\83\8b\90\94 */
-               S32             NumberOfPatterns ;              /* \91\8d Pattern \90\94 */
-               S32             NumberOfInstruments ;   /* \91\8d Instrument \90\94 */
+               S32             HeaderSize ;                    /* ヘッダー領域のサイズ */
+               S32             SongLength ;                    /* aPatternOrderTable ã\81®é\95·ã\81\95ã\81«æ\8f\9bç®\97ã\81\97ã\81\9fã\80\81æ\9b²ã\81®å\85¨é\95· */
+               S32             RestartPosition ;               /* 曲のループ時、復帰位置 */
+               S32             NumberOfChannels ;              /* 総チャンネル数 */
+               S32             NumberOfPatterns ;              /* 総 Pattern 数 */
+               S32             NumberOfInstruments ;   /* 総 Instrument 数 */
                S32             Flags ;                                 /*
-                                                                                       bit 0 : 0 \82È\82ç AmigaPeriod \83\82\81[\83h
-                                                                                                       1 \82È\82ç \90ü\8c`\8eü\94g\90\94\83\82\81[\83h
+                                                                                       bit 0 : 0 なら AmigaPeriod モード
+                                                                                                       1 なら 線形周波数モード
                                                                                */
-               S32             DefaultTempo ;                  /* 1 Row \93\96\82è\82Ì Tick \90\94\81A\83f\83t\83H\83\8b\83g\92l */
-               S32             DefaultBPM ;                    /* BPM \83f\83t\83H\83\8b\83g\92l */
-               U8              aPatternOrderTable[ 256 ];      /* \89\89\91t\82·\82é Pattern \82Ì\8f\87\8f\98\82ð\95\\82µ\82½\83e\81[\83u\83\8b */
+               S32             DefaultTempo ;                  /* 1 Row 当りの Tick 数、デフォルト値 */
+               S32             DefaultBPM ;                    /* BPM デフォルト値 */
+               U8              aPatternOrderTable[ 256 ];      /* 演奏する Pattern の順序を表したテーブル */
        } XmHeader ;
 
-       /* \83p\83^\81[\83\93\82Ì\8fî\95ñ */
+       /* パターンの情報 */
        struct XM_PATTERN {
-               S32             PatternHeaderLength ;   /* \83w\83b\83_\81[\97Ì\88æ\82Ì\83T\83C\83Y */
-               S32             PackingType ;                   /* Pattern \82Ì\88³\8fk\8c`\8e®\81i\8fí\82É 0 \82ç\82µ\82¢\81j*/
-               S32             NumberOfRowsInPattern ; /* Pattern \93à\82Ì\91\8d Row \90\94 */
-               S32             PackedPatterndataSize ; /* \88³\8fk\82³\82ê\82½\8fó\91Ô\82Å\82Ì Pattern \82Ì\83f\81[\83^\83T\83C\83Y */
+               S32             PatternHeaderLength ;   /* ヘッダー領域のサイズ */
+               S32             PackingType ;                   /* Pattern の圧縮形式(常に 0 らしい)*/
+               S32             NumberOfRowsInPattern ; /* Pattern 内の総 Row 数 */
+               S32             PackedPatterndataSize ; /* 圧縮された状態での Pattern のデータサイズ */
 
-               /* \83\8f\81[\83N\97Ì\88æ */
-               U8              *pPatternData ;                 /* \83p\83^\81[\83\93\83f\81[\83^\82Ö\82Ì\83|\83C\83\93\83^\81[ */
+               /* ワーク領域 */
+               U8              *pPatternData ;                 /* パターンデータへのポインター */
        } *(apXM_PATTERN[ MAX_PATTERNS ]);
 
-       /* \83T\83\93\83v\83\8a\83\93\83O\82Ì\8fî\95ñ */
+       /* サンプリングの情報 */
        struct XM_SAMPLE {
-               void    *pSampleData ;                  /* \83T\83\93\83v\83\8a\83\93\83O\83f\81[\83^\82Ö\82Ì\83|\83C\83\93\83^\81[ */
-               S32             SampleLength ;                  /* \83T\83\93\83v\83\8a\83\93\83O\83f\81[\83^\82Ì\94g\8c`\97v\91f\90\94 */
-               S32             SampleLoopStart ;               /* \83T\83\93\83v\83\8a\83\93\83O\82Ì\83\8b\81[\83v\8aJ\8en\88Ê\92u\81i\94g\8c`\97v\91f\92P\88Ê\81j*/
-               S32             SampleLoopLength ;              /* \83T\83\93\83v\83\8a\83\93\83O\82Ì\83\8b\81[\83v\8bæ\8aÔ\82Ì\92·\82³\81i\94g\8c`\97v\91f\92P\88Ê\81j*/
-               S32             Volume ;                                /* \83T\83\93\83v\83\8a\83\93\83O\82Ì\83f\83t\83H\83\8b\83g\89¹\97Ê */
-               S32             FineTune ;                              /* \83T\83\93\83v\83\8a\83\93\83O\82Ì\83f\83t\83H\83\8b\83g FineTune \92l */
+               void    *pSampleData ;                  /* サンプリングデータへのポインター */
+               S32             SampleLength ;                  /* サンプリングデータの波形要素数 */
+               S32             SampleLoopStart ;               /* サンプリングのループ開始位置(波形要素単位)*/
+               S32             SampleLoopLength ;              /* サンプリングのループ区間の長さ(波形要素単位)*/
+               S32             Volume ;                                /* サンプリングのデフォルト音量 */
+               S32             FineTune ;                              /* サンプリングのデフォルト FineTune 値 */
                S32             Type ;                                  /*
                                                                                        Bit 0-1:        00      = No loop
                                                                                                                01      = Forward loop
@@ -107,65 +107,65 @@ struct MOD {
                                                                                        Bit 4:           0      =  8-bit sampledata
                                                                                                                 1      = 16-bit sampledata
                                                                                */
-               S32             Panning ;                               /* \83T\83\93\83v\83\8a\83\93\83O\82Ì\83f\83t\83H\83\8b\83g\83p\83\93\88Ê\92u */
-               S32             RelativeNoteNumber ;    /* \89¹\8aK\82Ì\8fC\90³\92l */
-               S32             Reserved ;                              /* \97\\96ñ\97Ì\88æ */
-               char    aszSampleName[23];              /* \83T\83\93\83v\83\8a\83\93\83O\82Ì\96¼\91O\81i1\95\8e\9a\97]\95ª\82É\81j*/
+               S32             Panning ;                               /* サンプリングのデフォルトパン位置 */
+               S32             RelativeNoteNumber ;    /* 音階の修正値 */
+               S32             Reserved ;                              /* 予約領域 */
+               char    aszSampleName[23];              /* サンプリングの名前(1文字余分に)*/
 
-               /* \83\8f\81[\83N\97Ì\88æ */
-               S32             VoiceMode ;                             /* \8ae\8eí\83t\83\89\83O */
+               /* ワーク領域 */
+               S32             VoiceMode ;                             /* 各種フラグ */
        } *(apXM_SAMPLE[ MAX_SAMPLES ]);
 
-       /* \83C\83\93\83X\83g\83D\81[\83\8b\83\81\83\93\83g\82Ì\8fî\95ñ */
+       /* インストゥールメントの情報 */
        struct XM_INSTRUMENT {
-               S32                     InstrumentSize ;                                /* \83f\81[\83^\83T\83C\83Y */
-               char            aszInstrumentName[ 23 ];                /* \83C\83\93\83X\83g\83D\81[\83\8b\83\81\83\93\83g\82Ì\96¼\91O\81i1\95\8e\9a\97]\95ª\82É\81j*/
-               S32                     InstrumentType ;                                /* \83C\83\93\83X\83g\83D\81[\83\8b\83\81\83\93\83g\82Ì\8c`\8e®\81i\8fí\82É 0 \82ç\82µ\82¢\81j*/
-               S32                     NumberOfSamplesInInstrument ;   /* \82±\82Ì\83C\83\93\83X\83g\83D\81[\83\8b\83\81\83\93\83g\82É\8aÜ\82Ü\82ê\82é\83T\83\93\83v\83\8a\83\93\83O\90\94 */
-               S32                     SampleHeaderSize ;                              /* \83T\83\93\83v\83\8a\83\93\83O\82Ì\83w\83b\83_\81[\8fî\95ñ\82Ì\83T\83C\83Y */
-               U8                      aSampleNumberForAllNotes[ 96 ]; /* \91S\89¹\8aK\95Ê\82Ì\83T\83\93\83v\83\8a\83\93\83O\94Ô\8d\86 */
-               ENVELOPE        aPointsForVolumeEnvelope[ 12 ];         /* \83{\83\8a\83\85\81[\83\80\83G\83\93\83x\83\8d\81[\83v\82Ì\90§\8cä\93_\81i\8dÅ\91å 12\81j*/
-               ENVELOPE        aPointsForPanningEnvelope[ 12 ];        /* \83p\83\93\83G\83\93\83x\83\8d\81[\83v\82Ì\90§\8cä\93_\81i\8dÅ\91å 12\81j*/
-               S32                     NumberOfVolumePoints ;                  /* \83{\83\8a\83\85\81[\83\80\83G\83\93\83x\83\8d\81[\83v\82Ì\90§\8cä\93_\82Ì\90\94 */
-               S32                     NumberOfPanningPoints ;                 /* \83p\83\93\83G\83\93\83x\83\8d\81[\83v\82Ì\90§\8cä\93_\82Ì\90\94 */
-               S32                     VolumeSustainPoint ;                    /* \83{\83\8a\83\85\81[\83\80\83G\83\93\83x\83\8d\81[\83v\82Ì\83T\83X\83e\83C\83\93\83|\83C\83\93\83g */
-               S32                     VolumeLoopStartPoint ;                  /* \83{\83\8a\83\85\81[\83\80\83G\83\93\83x\83\8d\81[\83v\82Ì\83\8b\81[\83v\8aJ\8en\88Ê\92u */
-               S32                     VolumeLoopEndPoint ;                    /* \83{\83\8a\83\85\81[\83\80\83G\83\93\83x\83\8d\81[\83v\82Ì\83\8b\81[\83v\8fI\97¹\88Ê\92u */
-               S32                     PanningSustainPoint ;                   /* \83p\83\93\83G\83\93\83x\83\8d\81[\83v\82Ì\83T\83X\83e\83C\83\93\83|\83C\83\93\83g */
-               S32                     PanningLoopStartPoint ;                 /* \83p\83\93\83G\83\93\83x\83\8d\81[\83v\82Ì\83\8b\81[\83v\8aJ\8en\88Ê\92u */
-               S32                     PanningLoopEndPoint ;                   /* \83p\83\93\83G\83\93\83x\83\8d\81[\83v\82Ì\83\8b\81[\83v\8fI\97¹\88Ê\92u */
+               S32                     InstrumentSize ;                                /* データサイズ */
+               char            aszInstrumentName[ 23 ];                /* インストゥールメントの名前(1文字余分に)*/
+               S32                     InstrumentType ;                                /* インストゥールメントの形式(常に 0 らしい)*/
+               S32                     NumberOfSamplesInInstrument ;   /* このインストゥールメントに含まれるサンプリング数 */
+               S32                     SampleHeaderSize ;                              /* サンプリングのヘッダー情報のサイズ */
+               U8                      aSampleNumberForAllNotes[ 96 ]; /* 全音階別のサンプリング番号 */
+               ENVELOPE        aPointsForVolumeEnvelope[ 12 ];         /* ボリュームエンベロープの制御点(最大 12)*/
+               ENVELOPE        aPointsForPanningEnvelope[ 12 ];        /* パンエンベロープの制御点(最大 12)*/
+               S32                     NumberOfVolumePoints ;                  /* ボリュームエンベロープの制御点の数 */
+               S32                     NumberOfPanningPoints ;                 /* パンエンベロープの制御点の数 */
+               S32                     VolumeSustainPoint ;                    /* ボリュームエンベロープのサステインポイント */
+               S32                     VolumeLoopStartPoint ;                  /* ボリュームエンベロープのループ開始位置 */
+               S32                     VolumeLoopEndPoint ;                    /* ボリュームエンベロープのループ終了位置 */
+               S32                     PanningSustainPoint ;                   /* パンエンベロープのサステインポイント */
+               S32                     PanningLoopStartPoint ;                 /* パンエンベロープのループ開始位置 */
+               S32                     PanningLoopEndPoint ;                   /* パンエンベロープのループ終了位置 */
                S32                     VolumeType ;                                    /*
-                                                                                                               bit 0:  0 = \83G\83\93\83x\83\8d\81[\83v OFF
-                                                                                                                               1 = \83G\83\93\83x\83\8d\81[\83v ON
-                                                                                                                       1:      0 = \83T\83X\83e\83C\83\93 OFF
-                                                                                                                               1 = \83T\83X\83e\83C\83\93 ON
-                                                                                                                       2:      0 = \83\8b\81[\83v OFF
-                                                                                                                               1 = \83\8b\81[\83v ON
+                                                                                                               bit 0:  0 = エンベロープ OFF
+                                                                                                                               1 = エンベロープ ON
+                                                                                                                       1:      0 = サステイン OFF
+                                                                                                                               1 = サステイン ON
+                                                                                                                       2:      0 = ループ OFF
+                                                                                                                               1 = ループ ON
                                                                                                        */
                S32                     PanningType ;                                   /*
-                                                                                                               bit 0:  0 = \83G\83\93\83x\83\8d\81[\83v OFF
-                                                                                                                               1 = \83G\83\93\83x\83\8d\81[\83v ON
-                                                                                                                       1:      0 = \83T\83X\83e\83C\83\93 OFF
-                                                                                                                               1 = \83T\83X\83e\83C\83\93 ON
-                                                                                                                       2:      0 = \83\8b\81[\83v OFF
-                                                                                                                               1 = \83\8b\81[\83v ON
+                                                                                                               bit 0:  0 = エンベロープ OFF
+                                                                                                                               1 = エンベロープ ON
+                                                                                                                       1:      0 = サステイン OFF
+                                                                                                                               1 = サステイン ON
+                                                                                                                       2:      0 = ループ OFF
+                                                                                                                               1 = ループ ON
                                                                                                        */
-               S32                     AutoVibratoType ;                               /* \8e©\93®\83r\83u\83\89\81[\83g\81A\94g\8c`\8eí\97Þ */
-               S32                     AutoVibratoSweep ;                              /* \8e©\93®\83r\83u\83\89\81[\83g\81AMAX \90U\95\9d\82É\93\9e\92B\82·\82é\82Ü\82Å\82Ì Tick \90\94 */
-               S32                     AutoVibratoDepth ;                              /* \8e©\93®\83r\83u\83\89\81[\83g\81AMAX \90U\95\9d */
-               S32                     AutoVibratoRate ;                               /* \8e©\93®\83r\83u\83\89\81[\83g\81A\90U\93®\91¬\93x */
-               S32                     VolumeFadeout ;                                 /* KeyOff \8e\9e\82Ì\83t\83F\81[\83h\83A\83E\83g\91¬\93x */
-               S32                     Reserved ;                                              /* \97\\96ñ\97Ì\88æ */
-
-               /* \83\8f\81[\83N\97Ì\88æ */
-               XM_SAMPLE       *apAllNoteXM_SAMPLE[ 96 ];              /* \91S\89¹\8aK\95Ê\83T\83\93\83v\83\8a\83\93\83O\8fî\95ñ\82Ö\82Ì\83|\83C\83\93\83^\81[ */
-               U8                      VolumeEnvelopeTable[ 325 ];             /* \93W\8aJ\8dÏ\82Ý\82Ì\81A\83{\83\8a\83\85\81[\83\80\83G\83\93\83x\83\8d\81[\83v */
-               U8                      PanningEnvelopeTable[ 325 ];    /* \93W\8aJ\8dÏ\82Ý\82Ì\81A\83p\83\93\83G\83\93\83x\83\8d\81[\83v */
+               S32                     AutoVibratoType ;                               /* 自動ビブラート、波形種類 */
+               S32                     AutoVibratoSweep ;                              /* 自動ビブラート、MAX 振幅に到達するまでの Tick 数 */
+               S32                     AutoVibratoDepth ;                              /* 自動ビブラート、MAX 振幅 */
+               S32                     AutoVibratoRate ;                               /* 自動ビブラート、振動速度 */
+               S32                     VolumeFadeout ;                                 /* KeyOff 時のフェードアウト速度 */
+               S32                     Reserved ;                                              /* 予約領域 */
+
+               /* ワーク領域 */
+               XM_SAMPLE       *apAllNoteXM_SAMPLE[ 96 ];              /* 全音階別サンプリング情報へのポインター */
+               U8                      VolumeEnvelopeTable[ 325 ];             /* 展開済みの、ボリュームエンベロープ */
+               U8                      PanningEnvelopeTable[ 325 ];    /* 展開済みの、パンエンベロープ */
        } *(apXM_INSTRUMENT[ MAX_INSTRUMENTS ]);
 
-       /* \8ae\83`\83\83\83\93\83l\83\8b\82Ì\8fó\91Ô */
+       /* 各チャンネルの状態 */
        struct CHANSTAT {
-               /* \8c»\8dÝ\82Ì Row \82Ì\93à\97e\81iNoteDelay \82Ì\92x\89\84\93Ç\82Ý\8d\9e\82Ý\82ð\8dl\97\81j*/
+               /* 現在の Row の内容(NoteDelay の遅延読み込みを考慮)*/
                S32     idxNowPatternNote ;
                S32     idxNowRealNote ;
                S32     NowVolumeColumn ;
@@ -174,119 +174,120 @@ struct MOD {
                S32     NowPeriod_ ;
                S32     idxNowInst ;
 
-               /* \83C\83\93\83X\83g\83D\81[\83\8b\83\81\83\93\83g\8fî\95ñ\82Ö\82Ì\83|\83C\83\93\83^\81[ */
+               /* インストゥールメント情報へのポインター */
                XM_INSTRUMENT   *pPendingXM_INSTRUMENT ;
                XM_INSTRUMENT   *pPlayingXM_INSTRUMENT ;
 
-               /* \83T\83\93\83v\83\8a\83\93\83O\8fî\95ñ\82Ö\82Ì\83|\83C\83\93\83^\81[ */
+               /* サンプリング情報へのポインター */
                XM_SAMPLE               *pPlayingXM_SAMPLE ;
 
-               /* \8dÅ\8cã\82É\89\9f\82³\82ê\82½\83L\81[\94Ô\8d\86 */
+               /* 最後に押されたキー番号 */
                S32     idxLastRealNote ;
 
-               /* period \8aÖ\8cW */
+               /* period 関係 */
                S32     PendingPeriod_ ;
                S32     PlayingPeriod_ ;
                S32     FinalPeriod_ ;
-               S32     PeriodLowLimit_ ;                       /* \89º\8cÀ */
-               S32     PeriodHighLimit_ ;                      /* \8fã\8cÀ */
+               S32     PeriodLowLimit_ ;                       /* 下限 */
+               S32     PeriodHighLimit_ ;                      /* 上限 */
 
-               /* FineTune \8aÖ\8cW */
+               /* FineTune 関係 */
                S32     PlayingFineTune ;
 
-               /* \89¹\97Ê\8aÖ\8cW */
-               S32     PlayingVolume_ ;                        /*\81i0x00_ \81` 0x40_\81j*/
-               S32     FinalVolume_ ;                          /*\81i0x00_ \81` 0x40_\81j*/
-               S32     FinalVolume_L_ ;                        /*\81i0x00_ \81` 0x40_\81j*/
-               S32     FinalVolume_R_ ;                        /*\81i0x00_ \81` 0x40_\81j*/
-               S32     VolumeSlide ;                           /* \89¹\97Ê\83X\83\89\83C\83h\92l */
-               S32     FineVolumeSlide ;                       /* \89¹\97Ê\83X\83\89\83C\83h\92l\81iFineVolumeSlide \97p\81j*/
-               S32     VolumeScale_ ;                          /* \83`\83\83\83\93\83l\83\8b\92P\88Ê\82Ì\89¹\97Ê\83X\83P\81[\83\8a\83\93\83O\92l\81i0_ \81` 1_\81j*/
-
-               /* \83p\83\93\8aÖ\8cW */
-               S32     PlayingPanning_ ;                       /*\81i\8d¶:0x000_ \81` 0x0FF_:\89E\81j*/
-               S32     FinalPanning_ ;                         /*\81i\8d¶:0x000_ \81` 0x100_:\89E\81j*/
-               S32     PanningSlide ;                          /* \83p\83\93 \83X\83\89\83C\83h\92l\81i\83R\83}\83\93\83h Pxy \97p\81j*/
-
-               /* \83G\83\93\83x\83\8d\81[\83v\8aÖ\8cW */
-               S32     idxVolumeEnvelopeTable ;        /* \83{\83\8a\83\85\81[\83\80\83G\83\93\83x\83\8d\81[\83v\82Ì\83e\81[\83u\83\8b\8eQ\8fÆ\88Ê\92u */
-               S32     idxPanningEnvelopeTable ;       /* \83p\83\93\83G\83\93\83x\83\8d\81[\83v\82Ì\83e\81[\83u\83\8b\8eQ\8fÆ\88Ê\92u */
-
-               /* Vibrato \8aÖ\8cW */
-               S32     VibratoType ;                           /* \83^\83C\83v */
-               S32     VibratoPosition_ ;                      /* \94g\8c`\88Ê\92u */
-               S32     VibratoRate ;                           /* \91¬\93x */
-               S32     VibratoDepth ;                          /* \90U\95\9d */
-
-               /* Tremolo \8aÖ\8cW */
-               S32     TremoloType ;                           /* \83^\83C\83v */
-               S32     TremoloPosition_ ;                      /* \94g\8c`\88Ê\92u */
-               S32     TremoloRate ;                           /* \91¬\93x */
-               S32     TremoloDepth ;                          /* \90U\95\9d */
-
-               /* Portamento \8aÖ\8cW */
-               S32     PortamentoInc ;                         /* period \89Á\8eZ\97Ê\81iPortamento \97p\81j*/
-               S32     TonePortamentoInc ;                     /* period \89Á\8eZ\97Ê\81iTone-Portamento \97p\81j*/
-               S32     TonePortamentoDst_ ;            /* period \96Ú\95W\92l\81iTone-Portamento \97p\81j*/
-               S32     FinePortamentoInc ;                     /* period \89Á\8eZ\97Ê\81iFine-Portamento \97p\81j*/
-               S32     ExtraFinePortamentoInc ;        /* period \89Á\8eZ\97Ê\81iExtra Fine-Portamento \97p\81j*/
-
-               /* Arpeggio \8aÖ\8cW */
+               /* 音量関係 */
+               S32     PlayingVolume_ ;                        /*(0x00_ ~ 0x40_)*/
+               S32     FinalVolume_ ;                          /*(0x00_ ~ 0x40_)*/
+               S32     FinalVolume_L_ ;                        /*(0x00_ ~ 0x40_)*/
+               S32     FinalVolume_R_ ;                        /*(0x00_ ~ 0x40_)*/
+               S32     VolumeSlide ;                           /* 音量スライド値 */
+               S32     FineVolumeSlide ;                       /* 音量スライド値(FineVolumeSlide 用)*/
+               S32     VolumeScale_ ;                          /* チャンネル単位の音量スケーリング値(0_ ~ 1_)*/
+
+               /* パン関係 */
+               S32     PlayingPanning_ ;                       /*(左:0x000_ ~ 0x0FF_:右)*/
+               S32     FinalPanning_ ;                         /*(左:0x000_ ~ 0x100_:右)*/
+               S32     PanningSlide ;                          /* パン スライド値(コマンド Pxy 用)*/
+
+               /* エンベロープ関係 */
+               S32     idxVolumeEnvelopeTable ;        /* ボリュームエンベロープのテーブル参照位置 */
+               S32     idxPanningEnvelopeTable ;       /* パンエンベロープのテーブル参照位置 */
+
+               /* Vibrato 関係 */
+               S32     VibratoType ;                           /* タイプ */
+               S32     VibratoPosition_ ;                      /* 波形位置 */
+               S32     VibratoRate ;                           /* 速度 */
+               S32     VibratoDepth ;                          /* 振幅 */
+
+               /* Tremolo 関係 */
+               S32     TremoloType ;                           /* タイプ */
+               S32     TremoloPosition_ ;                      /* 波形位置 */
+               S32     TremoloRate ;                           /* 速度 */
+               S32     TremoloDepth ;                          /* 振幅 */
+
+               /* Portamento 関係 */
+               S32     PortamentoInc ;                         /* period 加算量(Portamento 用)*/
+               S32     TonePortamentoInc ;                     /* period 加算量(Tone-Portamento 用)*/
+               S32     TonePortamentoDst_ ;            /* period 目標値(Tone-Portamento 用)*/
+               S32     FinePortamentoInc ;                     /* period 加算量(Fine-Portamento 用)*/
+               S32     ExtraFinePortamentoInc ;        /* period 加算量(Extra Fine-Portamento 用)*/
+
+               /* Arpeggio 関係 */
                S32     ArpeggioPeriod_[2] ;
-               S32     idxArpeggio ;                           /* 0 -> 1 -> 2 \8cJ\82è\95Ô\82µ */
-
-               /* Tremor\81i\83R\83}\83\93\83h Txy\81j\8aÖ\8cW */
-               S32     TremorCount ;                           /* \83J\83E\83\93\83^\81[ */
-               S32     TremorOnTime ;                          /* KeyOn \8aú\8aÔ\81itick \90\94\81j*/
-               S32     TremorOffTime ;                         /* KeyOff \8aú\8aÔ\81itick \90\94\81j*/
-               S32     bTremorMute ;                           /* \83~\83\85\81[\83g\8fó\91Ô\82©\81H TRUE / FALSE */
-
-               /* Multi retrig\81i\83R\83}\83\93\83h Rxy\81j\8aÖ\8cW */
-               S32     MultiRetrigCount ;                      /* \83J\83E\83\93\83^\81[ */
-               S32     MultiRetrigInterval ;           /* \8aÔ\8au */
-               S32     MultiRetrigVolumeChange ;       /* \89¹\97Ê\82Ì\95Ï\89»\82Ì\82³\82¹\95û */
-
-               /* Panbrello \8aÖ\8cW */
-               S32     PanbrelloType ;                         /* \83^\83C\83v */
-               S32     PanbrelloPosition ;                     /* \94g\8c`\88Ê\92u */
-               S32     PanbrelloRate ;                         /* \91¬\93x */
-               S32     PanbrelloDepth ;                        /* \90U\95\9d */
-
-               /* Pattern loop\81i\83R\83}\83\93\83h E6x\81j\8aÖ\8cW */
-               S32     PatternLoopCount ;                      /* \83\8b\81[\83v\89ñ\90\94\83J\83E\83\93\83g\97p */
-               S32     PatternLoopRow ;                        /* \83\8b\81[\83v\83|\83C\83\93\83g\81iRow\81j*/
-
-               /* KEYOFF \83t\83F\81[\83h\83A\83E\83g\8aÖ\8cW */
-               S32     bFadeOut ;                                      /* \83t\83F\81[\83h\83A\83E\83g\92\86\81H TRUE / FALSE */
-               S32     FadeOutVolume_1_15_16 ;         /* \83t\83F\81[\83h\83A\83E\83g\97p\81A\89¹\97Ê\94{\97¦\81i\8cÅ\92è\8f­\90\94 16 bit\81j*/
-
-               /* Auto-Vibrato \8aÖ\8cW */
-               S32     AutoVibratoPosition ;           /* \94g\8c`\88Ê\92u */
-               S32     AutoVibratoDepth_ ;                     /* \90U\95\9d */
-
-               /* Surround \8aÖ\8cW */
-               S32     bSurround ;                                     /* Surround \82Í\97L\8cø\82©\81H TRUE / FALSE */
-
-               /* \82»\82Ì\91¼\82¢\82ë\82¢\82ë */
-               U32     SamplePosition_ ;                       /* \83T\83\93\83v\83\8a\83\93\83O\82Ì\8dÄ\90\88Ê\92u */
-               U32     SampleRate_ ;                           /* \83T\83\93\83v\83\8a\83\93\83O\82Ì\8dÄ\90\83\8c\81[\83g */
-               U32     SampleOffset ;                          /* \83R\83}\83\93\83h 9xx \82Å\8ew\92è\82µ\82½\83I\83t\83Z\83b\83g\92l\81i\8dÅ\8cã\82É\8ew\92è\82µ\82½\92l\81j*/
-               U32     SampleHighOffset ;                      /* \83R\83}\83\93\83h XAx \82Å\8ew\92è\82µ\82½\83I\83t\83Z\83b\83g\92l\81i\8dÅ\8cã\82É\8ew\92è\82µ\82½\92l\81j*/
-               S32     bGrissando ;                            /* Grissando \82Í\97L\8cø\82©\81H TRUE / FALSE */
-               S32     VolumeColumnContinueValue ;     /* VolumeColumn \90ê\97p\81A\93Á\8eê\82È continue \8dÄ\8c»\97p */
-
-               /* \83v\83`\83m\83C\83Y\91Î\8dô */
-               XM_SAMPLE       *pLastPlayingXM_SAMPLE ;        /* \91O\89ñ\82Ì\83T\83\93\83v\83\8a\83\93\83O */
-               U32     LastSamplePosition_ ;           /* \91O\89ñ\82Ì\83T\83\93\83v\83\8a\83\93\83O\82Ì\8dÄ\90\88Ê\92u */
-               S32     LastWaveVal_L ;                         /* \94g\8c`\82Ì\8dÅ\8fI\92l\81A\8d */
-               S32     LastWaveVal_R ;                         /* \94g\8c`\82Ì\8dÅ\8fI\92l\81A\89E */
-               S32     LastSampleVolume_L_ ;           /* \89¹\97Ê\82Ì\8dÅ\8fI\92l\81A\8d */
-               S32     LastSampleVolume_R_ ;           /* \89¹\97Ê\82Ì\8dÅ\8fI\92l\81A\89E */
+               S32     idxArpeggio ;                           /* 0 -> 1 -> 2 繰り返し */
+
+               /* Tremor(コマンド Txy)関係 */
+               S32     TremorCount ;                           /* カウンター */
+               S32     TremorOnTime ;                          /* KeyOn 期間(tick 数)*/
+               S32     TremorOffTime ;                         /* KeyOff 期間(tick 数)*/
+               S32     bTremorMute ;                           /* ミュート状態か? TRUE / FALSE */
+
+               /* Multi retrig(コマンド Rxy)関係 */
+               S32     MultiRetrigCount ;                      /* カウンター */
+               S32     MultiRetrigInterval ;           /* 間隔 */
+               S32     MultiRetrigVolumeChange ;       /* 音量の変化のさせ方 */
+
+               /* Panbrello 関係 */
+               S32     PanbrelloType ;                         /* タイプ */
+               S32     PanbrelloPosition ;                     /* 波形位置 */
+               S32     PanbrelloRate ;                         /* 速度 */
+               S32     PanbrelloDepth ;                        /* 振幅 */
+
+               /* Pattern loop(コマンド E6x)関係 */
+               S32     PatternLoopCount ;                      /* ループ回数カウント用 */
+               S32     PatternLoopRow ;                        /* ループポイント(Row)*/
+
+               /* KEYOFF フェードアウト関係 */
+               S32     bFadeOut ;                                      /* フェードアウト中? TRUE / FALSE */
+               S32     FadeOutVolume_1_15_16 ;         /* フェードアウト用、音量倍率(固定少数 16 bit)*/
+
+               /* Auto-Vibrato 関係 */
+               S32     AutoVibratoPosition ;           /* 波形位置 */
+               S32     AutoVibratoDepth_ ;                     /* 振幅 */
+
+               /* Surround 関係 */
+               S32     bSurround ;                                     /* Surround は有効か? TRUE / FALSE */
+
+               /* その他いろいろ */
+               U32     SamplePosition_ ;                       /* サンプリングの再生位置 */
+               U32     SampleRate_ ;                           /* サンプリングの再生レート */
+               U32     SampleOffset ;                          /* コマンド 9xx で指定したオフセット値(最後に指定した値)*/
+               U32     SampleHighOffset ;                      /* コマンド XAx で指定したオフセット値(最後に指定した値)*/
+               S32     bGrissando ;                            /* Grissando は有効か? TRUE / FALSE */
+               S32     VolumeColumnContinueValue ;     /* VolumeColumn 専用、特殊な continue 再現用 */
+
+               /* プチノイズ対策 */
+               XM_SAMPLE       *pLastPlayingXM_SAMPLE ;        /* 前回のサンプリング */
+               U32     LastSamplePosition_ ;           /* 前回のサンプリングの再生位置 */
+               S32     LastWaveVal_L ;                         /* 波形の最終値、左 */
+               S32     LastWaveVal_R ;                         /* 波形の最終値、右 */
+               S32     LastSampleVolume_L_ ;           /* 音量の最終値、左 */
+               S32     LastSampleVolume_R_ ;           /* 音量の最終値、右 */
        } aCHANSTAT[ MAX_CHANNELS ];
+       void* Instance;// NaCl インスタンス
 };
 #pragma pack(pop)
 
-/* \83^\83O\96¼\82Ì\83t\83b\83N */
+/* タグ名のフック */
 
 typedef MOD::XM_ID                     XM_ID ;
 typedef MOD::XM_HEADER         XM_HEADER ;
@@ -295,119 +296,119 @@ typedef MOD::XM_SAMPLE          XM_SAMPLE ;
 typedef MOD::XM_INSTRUMENT     XM_INSTRUMENT ;
 typedef MOD::CHANSTAT                  CHANSTAT ;
 
-/*\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª
-\81¥     MOD \83f\81[\83^\82Ì\93Ç\82Ý\8d\9e\82Ý
+/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+▼    MOD データの読み込み
 
-       \96ß\92l\81ETRUE  = \90¬\8c÷
-               \81EFALSE = \8e¸\94s
-\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª*/
+       戻値・TRUE  = 成功
+               ・FALSE = 失敗
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
 S32 MOD__LoadSong(
-        MOD    *pMOD           /* this \83|\83C\83\93\83^\81[ */
-       ,void   *pMusDat_       /* \83\81\83\82\83\8a\8fã\82É\83t\83@\83C\83\8b\82ð\93Ç\82Ý\8d\9e\82Ý\81A\82»\82Ì\83|\83C\83\93\83^\81[\82ð\82±\82±\82É\8ew\92è */
-       ,S32     lMusDat        /* \83f\81[\83^\83T\83C\83Y */
+        MOD    *pMOD           /* this ポインター */
+       ,void   *pMusDat_       /* メモリ上にファイルを読み込み、そのポインターをここに指定 */
+       ,S32     lMusDat        /* データサイズ */
 );
 
 
-/*\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª
-\81¥     MOD \83f\81[\83^\82Ì\94j\8aü
+/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+▼    MOD データの破棄
 
-       \96ß\92l\81ETRUE  = \90¬\8c÷
-               \81EFALSE = \8e¸\94s
-\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª*/
+       戻値・TRUE  = 成功
+               ・FALSE = 失敗
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
 S32 MOD__ReleaseSong(
-        MOD    *pMOD           /* this \83|\83C\83\93\83^\81[ */
+        MOD    *pMOD           /* this ポインター */
 );
 
 
-/*\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª
-\81¥     \89¹\97Ê\82Ì\90Ý\92è
+/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+▼    音量の設定
 
-       \96ß\92l\81ETRUE  = \90¬\8c÷
-               \81EFALSE = \8e¸\94s
-\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª*/
+       戻値・TRUE  = 成功
+               ・FALSE = 失敗
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
 S32 MOD__Set_Volume(
-        MOD    *pMOD           /* this \83|\83C\83\93\83^\81[ */
-       ,S32    Volume          /* \89¹\97Ê 0 \81` 256\81i\82»\82ê\88È\8fã\82É\82à\90Ý\92è\89Â\94\\81j*/
+        MOD    *pMOD           /* this ポインター */
+       ,S32    Volume          /* 音量 0 ~ 256(それ以上にも設定可能)*/
 );
 
 
-/*\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª
-\81¥     \8dÄ\90\83\8c\81[\83g\82Ì\90Ý\92è
+/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+▼    再生レートの設定
 
-       \96ß\92l\81ETRUE  = \90¬\8c÷
-               \81EFALSE = \8e¸\94s
-\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª*/
+       戻値・TRUE  = 成功
+               ・FALSE = 失敗
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
 S32 MOD__Set_nWavePerSec(
-        MOD    *pMOD                   /* this \83|\83C\83\93\83^\81[ */
-       ,S32    nWavePerSec             /* WAVE \8fo\97Í\83f\83o\83C\83X\82Ì\8eü\94g\90\94(Hz) */
+        MOD    *pMOD                   /* this ポインター */
+       ,S32    nWavePerSec             /* WAVE 出力デバイスの周波数(Hz) */
 );
 
 
-/*\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª
-\81¥     \83\8b\81[\83v\8dÄ\90\83\82\81[\83h / \94ñ\83\8b\81[\83v\8dÄ\90\83\82\81[\83\82Ì\8ew\92è
+/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+▼    ループ再生モード / 非ループ再生モード の指定
 
-       \96ß\92l\81ETRUE  = \90¬\8c÷
-               \81EFALSE = \8e¸\94s
-\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª*/
+       戻値・TRUE  = 成功
+               ・FALSE = 失敗
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
 S32 MOD__Set_bLoopMode(
-        MOD    *pMOD                   /* this \83|\83C\83\93\83^\81[ */
-       ,S32    bLoopMode               /* \83\8b\81[\83v\8dÄ\90\83\82\81[\83h\82©\81H TRUE / FALSE */
+        MOD    *pMOD                   /* this ポインター */
+       ,S32    bLoopMode               /* ループ再生モードか? TRUE / FALSE */
 );
 
 
-/*\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª
-\81¥     \8e©\93®\83Q\83C\83\93\83R\83\93\83g\83\8d\81[\83\8b\82·\82é\82©\82Ç\82¤\82© \82Ì\8ew\92è
+/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+▼    自動ゲインコントロールするかどうか の指定
 
-       \96ß\92l\81ETRUE  = \90¬\8c÷
-               \81EFALSE = \8e¸\94s
-\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª*/
+       戻値・TRUE  = 成功
+               ・FALSE = 失敗
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
 S32 MOD__Set_bAutoGainControl(
-        MOD    *pMOD                           /* this \83|\83C\83\93\83^\81[ */
-       ,S32    bAutoGainControl        /* \8e©\93®\83Q\83C\83\93\83R\83\93\83g\83\8d\81[\83\8b\82·\82é\82©\81H TRUE / FALSE */
+        MOD    *pMOD                           /* this ポインター */
+       ,S32    bAutoGainControl        /* 自動ゲインコントロールするか? TRUE / FALSE */
 );
 
 
-/*\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª
-\81¥     \8dÄ\90\82ð\8f\89\8aú\89»\81i\93à\95\94\83p\83\89\83\81\81[\83^\81[\82ð\8f\89\8aú\89»\82µ\81A\90æ\93ª\82©\82ç\8dÄ\90\82µ\92¼\82·\81j
+/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+▼    再生を初期化(内部パラメーターを初期化し、先頭から再生し直す)
 
-       \96ß\92l\81ETRUE  = \90¬\8c÷
-               \81EFALSE = \8e¸\94s
-\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª*/
+       戻値・TRUE  = 成功
+               ・FALSE = 失敗
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
 S32 MOD__InitPlay(
-        MOD    *pMOD           /* this \83|\83C\83\93\83^\81[ */
+        MOD    *pMOD           /* this ポインター */
 );
 
 
-/*\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª
-\81¥     MOD \83f\81[\83^\82Ì\8dÄ\90
+/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+▼    MOD データの再生
 
-       \96ß\92l\81ETRUE  = \90¬\8c÷
-               \81EFALSE = \8e¸\94s
-\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª*/
+       戻値・TRUE  = 成功
+               ・FALSE = 失敗
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
 S32 MOD__PlaySong(
-        MOD    *pMOD                   /* this \83|\83C\83\93\83^\81[ */
-       ,U32    *pWaveOutPut    /* \94g\8c`\8fo\97Í\90æ\81iL R \82ð\82Ð\82Æ\82Ü\82Æ\82ß\82É\82µ\82Ä\81AU32 \92P\88Ê\82Å\8fo\97Í\82·\82é\81j*/
-       ,S32     nWaveOutPut    /* \8fo\97Í\94g\8c`\90\94 */
+        MOD    *pMOD                   /* this ポインター */
+       ,U32    *pWaveOutPut    /* 波形出力先(L R をひとまとめにして、U32 単位で出力する)*/
+       ,S32     nWaveOutPut    /* 出力波形数 */
 );
 
 
-/*\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª
-\81¥     MOD \8d\\91¢\91Ì\82Ì\94j\8aü
+/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+▼    MOD 構造体の破棄
 
-       \96ß\92l\81ETRUE  = \90¬\8c÷
-               \81EFALSE = \8e¸\94s
-\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª*/
+       戻値・TRUE  = 成功
+               ・FALSE = 失敗
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
 S32 MOD__Destruct(
-       MOD     *p              /* this \83|\83C\83\93\83^\81[ */
+       MOD     *p              /* this ポインター */
 );
 
 
-/*\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª
-\81¥     MOD \8d\\91¢\91Ì\82Ì\8am\95Û\82Æ\8f\89\8aú\89»
+/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+▼    MOD 構造体の確保と初期化
 
-       \96ß\92l\81F  \8am\95Û\82µ\82½\8d\\91¢\91Ì\82Ö\82Ì\83|\83C\83\93\83^\81[
-                       NULL \82È\82ç\8e¸\94s
-\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª\84ª*/
-MOD *MOD__Create(
+       戻値:       確保した構造体へのポインター
+                       NULL なら失敗
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
+MOD *MOD__Create(void*  Instance /* Naclインスタンス */
 );
 #endif