+++ /dev/null
-using System;\r
-using System.Collections.Generic;\r
-using System.Text;\r
-using System.Runtime.InteropServices;\r
-using System.Runtime.Serialization;\r
-\r
-namespace DTXMania\r
-{\r
- public enum EChannel : int\r
- {\r
- Invalid = -1,\r
- /// <summary>\r
- /// 0x01 BGM 割当チャンネル\r
- /// </summary>\r
- BGM = 0x01,\r
- BarLength = 0x02,\r
- BPM = 0x03,\r
- BGALayer1 = 0x04,\r
- ExObj_nouse = 0x05,\r
- MissAnimation_nouse = 0x06,\r
- BGALayer2 = 0x07,\r
- BPMEx = 0x08,\r
- BMS_reserved_09 = 0x09,\r
- BMS_reserved_0A = 0x0A,\r
- //BMS_reserved_0B = 0x0B,\r
- //BMS_reserved_0C = 0x0C,\r
- //BMS_reserved_0D = 0x0D,\r
- //BMS_reserved_0E = 0x0E,\r
- //BMS_reserved_0F = 0x0F,\r
- //BMS_reserved_10 = 0x10,\r
- /// <summary>\r
- /// HHC 0x11\r
- /// </summary>\r
- HiHatClose = 0x11,\r
- Snare = 0x12,\r
- BassDrum = 0x13,\r
- HighTom = 0x14,\r
- LowTom = 0x15,\r
- Cymbal = 0x16,\r
- FloorTom = 0x17,\r
- HiHatOpen = 0x18,\r
- RideCymbal = 0x19,\r
- LeftCymbal = 0x1A,\r
- LeftPedal = 0x1B,\r
- /// <summary>\r
- /// 0x1C Visible LBD\r
- /// </summary>\r
- LeftBassDrum = 0x1C,\r
- //nouse_1d = 0x1D,\r
- //nouse_1e = 0x1E,\r
- /// <summary>\r
- /// 0x1F Dr. Fillin\r
- /// </summary>\r
- DrumsFillin = 0x1F,\r
- Guitar_Open = 0x20,\r
- Guitar_xxB = 0x21,\r
- Guitar_xGx = 0x22,\r
- Guitar_xGB = 0x23,\r
- Guitar_Rxx = 0x24,\r
- Guitar_RxB = 0x25,\r
- Guitar_RGx = 0x26,\r
- Guitar_RGB = 0x27,\r
- /// <summary>\r
- /// 0x28 Gt. Wailing\r
- /// </summary>\r
- Guitar_Wailing = 0x28,\r
- flowspeed_gt_nouse = 0x29,\r
- //nouse_2a = 0x2A,\r
- //nouse_2b = 0x2B,\r
- //nouse_2c = 0x2C,\r
- //nouse_2d = 0x2D,\r
- //nouse_2e = 0x2E,\r
- /// <summary>\r
- /// 0x2F Gt. Wailing Sound\r
- /// </summary>\r
- Guitar_WailingSound = 0x2F,\r
- flowspeed_dr_nouse = 0x30,\r
- /// <summary>\r
- /// 0x31 HHC Hidden\r
- /// </summary>\r
- HiHatClose_Hidden = 0x31,\r
- Snare_Hidden = 0x32,\r
- BassDrum_Hidden = 0x33,\r
- HighTom_Hidden = 0x34,\r
- LowTom_Hidden = 0x35,\r
- Cymbal_Hidden = 0x36,\r
- FloorTom_Hidden = 0x37,\r
- HiHatOpen_Hidden = 0x38,\r
- RideCymbal_Hidden = 0x39,\r
- LeftCymbal_Hidden = 0x3A,\r
- LeftPedal_Hidden = 0x3B,\r
- /// <summary>\r
- /// 0x3C LBD Hidden\r
- /// </summary>\r
- LeftBassDrum_Hidden = 0x3C,\r
- //nouse_3d = 0x3D,\r
- //nouse_3e = 0x3E,\r
- //nouse_3f = 0x3F,\r
- //BMS_reserved_40 = 0x40,\r
- //HiddenObject_2P_41 = 0x41,\r
- //HiddenObject_2P_42 = 0x42,\r
- //HiddenObject_2P_43 = 0x43,\r
- //HiddenObject_2P_44 = 0x44,\r
- //HiddenObject_2P_45 = 0x45,\r
- //HiddenObject_2P_46 = 0x46,\r
- //BMS_reserved_47 = 0x47,\r
- //BMS_reserved_48 = 0x48,\r
- //BMS_reserved_49 = 0x49,\r
- //nouse_4a = 0x4A,\r
- //nouse_4b = 0x4B,\r
- //nouse_4c = 0x4C,\r
- //nouse_4d = 0x4D,\r
- //nouse_4e = 0x4E,\r
- //nouse_4f = 0x4F,\r
- /// <summary>\r
- /// 0x50 BarLine\r
- /// </summary>\r
- BarLine = 0x50,\r
- /// <summary>\r
- /// 0x51 BeatLine\r
- /// </summary>\r
- BeatLine = 0x51,\r
- MIDIChorus = 0x52,\r
- FillIn = 0x53,\r
- Movie = 0x54,\r
- BGALayer3 = 0x55,\r
- BGALayer4 = 0x56,\r
- BGALayer5 = 0x57,\r
- BGALayer6 = 0x58,\r
- BGALayer7 = 0x59,\r
- MovieFull = 0x5A,\r
- nouse_5b = 0x5B,\r
- nouse_5c = 0x5C,\r
- nouse_5d = 0x5D,\r
- nouse_5e = 0x5E,\r
- nouse_5f = 0x5F,\r
- BGALayer8 = 0x60,\r
- SE01 = 0x61,\r
- SE02 = 0x62,\r
- SE03 = 0x63,\r
- SE04 = 0x64,\r
- SE05 = 0x65,\r
- SE06 = 0x66,\r
- SE07 = 0x67,\r
- SE08 = 0x68,\r
- SE09 = 0x69,\r
- //nouse_6a = 0x6A,\r
- //nouse_6b = 0x6B,\r
- //nouse_6c = 0x6C,\r
- //nouse_6d = 0x6D,\r
- //nouse_6e = 0x6E,\r
- //nouse_6f = 0x6F,\r
- SE10 = 0x70,\r
- SE11 = 0x71,\r
- SE12 = 0x72,\r
- SE13 = 0x73,\r
- SE14 = 0x74,\r
- SE15 = 0x75,\r
- SE16 = 0x76,\r
- SE17 = 0x77,\r
- SE18 = 0x78,\r
- SE19 = 0x79,\r
- //nouse_7a = 0x7A,\r
- //nouse_7b = 0x7B,\r
- //nouse_7c = 0x7C,\r
- //nouse_7d = 0x7D,\r
- //nouse_7e = 0x7E,\r
- //nouse_7f = 0x7F,\r
- SE20 = 0x80,\r
- SE21 = 0x81,\r
- SE22 = 0x82,\r
- SE23 = 0x83,\r
- SE24 = 0x84,\r
- SE25 = 0x85,\r
- SE26 = 0x86,\r
- SE27 = 0x87,\r
- SE28 = 0x88,\r
- SE29 = 0x89,\r
- //nouse_8a = 0x8A,\r
- //nouse_8b = 0x8B,\r
- //nouse_8c = 0x8C,\r
- //nouse_8d = 0x8D,\r
- //nouse_8e = 0x8E,\r
- //nouse_8f = 0x8F,\r
- SE30 = 0x90,\r
- SE31 = 0x91,\r
- SE32 = 0x92,\r
- //nouse_90 = 0x90,\r
- //nouse_91 = 0x91,\r
- //nouse_92 = 0x92,\r
- //nouse_93 = 0x93,\r
- //nouse_94 = 0x94,\r
- //nouse_95 = 0x95,\r
- //nouse_96 = 0x96,\r
- //nouse_97 = 0x97,\r
- //nouse_98 = 0x98,\r
- //nouse_99 = 0x99,\r
- //nouse_9a = 0x9A,\r
- //nouse_9b = 0x9B,\r
- //nouse_9c = 0x9C,\r
- //nouse_9d = 0x9D,\r
- //nouse_9e = 0x9E,\r
- //nouse_9f = 0x9F,\r
- /// <summary>\r
- /// \r
- /// 0xA0 Bs. Open\r
- /// </summary>\r
- Bass_Open = 0xA0,\r
- Bass_xxB = 0xA1,\r
- Bass_xGx = 0xA2,\r
- Bass_xGB = 0xA3,\r
- Bass_Rxx = 0xA4,\r
- Bass_RxB = 0xA5,\r
- Bass_RGx = 0xA6,\r
- /// <summary>\r
- /// 0xA7 Bs. RGB\r
- /// </summary>\r
- Bass_RGB = 0xA7,\r
- /// <summary>\r
- /// 0xA8 Bs. Wailing\r
- /// </summary>\r
- Bass_Wailing = 0xA8,\r
- //nouse_a9 = 0xA9,\r
- //nouse_aa = 0xAA,\r
- //nouse_ab = 0xAB,\r
- //nouse_ac = 0xAC,\r
- //nouse_ad = 0xAD,\r
- //nouse_ae = 0xAE,\r
- /// <summary>\r
- /// 0xAF Bs. Wailing Sound\r
- /// </summary>\r
- Bass_WailingSound = 0xAF,\r
- //nouse_b0 = 0xB0,\r
- HiHatClose_NoChip = 0xB1,\r
- Snare_NoChip = 0xB2,\r
- BassDrum_NoChip = 0xB3,\r
- HighTom_NoChip = 0xB4,\r
- LowTom_NoChip = 0xB5,\r
- Cymbal_NoChip = 0xB6,\r
- FloorTom_NoChip = 0xB7,\r
- HiHatOpen_NoChip = 0xB8,\r
- RideCymbal_NoChip = 0xB9,\r
- Guitar_NoChip = 0xBA,\r
- Bass_NoChip = 0xBB,\r
- LeftCymbal_NoChip = 0xBC,\r
- LeftPedal_NoChip = 0xBD,\r
- LeftBassDrum_NoChip = 0xBE,\r
- //nouse_bf = 0xBF,\r
- //nouse_c0 = 0xC0,\r
- BeatLineShift = 0xC1,\r
- BeatLineDisplay = 0xC2,\r
- //nouse_c3 = 0xC3,\r
- BGALayer1_Swap = 0xC4,\r
- //nouse_c5 = 0xC5,\r
- //nouse_c6 = 0xC6,\r
- BGALayer2_Swap = 0xC7,\r
- //nouse_c8 = 0xC8,\r
- //nouse_c9 = 0xC9,\r
- //nouse_ca = 0xCA,\r
- //nouse_cb = 0xCB,\r
- //nouse_cc = 0xCC,\r
- //nouse_cd = 0xCD,\r
- //nouse_ce = 0xCE,\r
- //nouse_cf = 0xCF,\r
- //nouse_d0 = 0xD0,\r
- //nouse_d1 = 0xD1,\r
- //nouse_d2 = 0xD2,\r
- //nouse_d3 = 0xD3,\r
- //nouse_d4 = 0xD4,\r
- BGALayer3_Swap = 0xD5,\r
- BGALayer4_Swap = 0xD6,\r
- BGALayer5_Swap = 0xD7,\r
- BGALayer6_Swap = 0xD8,\r
- BGALayer7_Swap = 0xD9,\r
- MixerAdd = 0xDA,\r
- MixerRemove = 0xDB,\r
- //nouse_dc = 0xDC,\r
- //nouse_dd = 0xDD,\r
- //nouse_de = 0xDE,\r
- //nouse_df = 0xDF,\r
- BGALayer8_Swap = 0xE0,\r
- //nouse_e1 = 0xE1,\r
- //nouse_e2 = 0xE2,\r
- //nouse_e3 = 0xE3,\r
- //nouse_e4 = 0xE4,\r
- //nouse_e5 = 0xE5,\r
- //nouse_e6 = 0xE6,\r
- //nouse_e7 = 0xE7,\r
- //nouse_e8 = 0xE8,\r
- //nouse_e9 = 0xE9,\r
- //nouse_ea = 0xEA,\r
- //nouse_eb = 0xEB,\r
- Click = 0xEC, // metronome click\r
- //nouse_ed = 0xED,\r
- //nouse_ee = 0xEE,\r
- //nouse_ef = 0xEF,\r
- //nouse_f0 = 0xF0,\r
- //nouse_f1 = 0xF1,\r
- //nouse_f2 = 0xF2,\r
- //nouse_f3 = 0xF3,\r
- //nouse_f4 = 0xF4,\r
- //nouse_f5 = 0xF5,\r
- //nouse_f6 = 0xF6,\r
- //nouse_f7 = 0xF7,\r
- //nouse_f8 = 0xF8,\r
- //nouse_f9 = 0xF9,\r
- //nouse_fa = 0xFA,\r
- //nouse_fb = 0xFB,\r
- //nouse_fc = 0xFC,\r
- //nouse_fd = 0xFD,\r
- //nouse_fe = 0xFE,\r
- //nouse_ff = 0xFF,\r
- }\r
-\r
- public enum EDTX種別\r
- {\r
- DTX,\r
- GDA,\r
- G2D,\r
- BMS,\r
- BME,\r
- SMF\r
- }\r
-\r
- public enum Eレーンビットパターン\r
- {\r
- OPEN,\r
- xxB,\r
- xGx,\r
- xGB,\r
- Rxx,\r
- RxB,\r
- RGx,\r
- RGB\r
- };\r
-\r
- public enum Eシステムサウンド\r
- {\r
- BGMオプション画面,\r
- BGMコンフィグ画面,\r
- BGM起動画面,\r
- BGM選曲画面,\r
- SOUNDステージ失敗音,\r
- SOUNDカーソル移動音,\r
- SOUNDゲーム開始音,\r
- SOUNDゲーム終了音,\r
- SOUNDステージクリア音,\r
- SOUNDタイトル音,\r
- SOUNDフルコンボ音,\r
- SOUND歓声音,\r
- SOUND曲読込開始音,\r
- SOUND決定音,\r
- SOUND取消音,\r
- SOUND変更音,\r
- SOUNDClickHigh,\r
- SOUNDClickLow,\r
- Count // システムサウンド総数の計算用\r
- }\r
-\r
- public enum E演奏画面の戻り値\r
- {\r
- 継続,\r
- 演奏中断,\r
- ステージ失敗,\r
- ステージクリア,\r
- 再読込_再演奏,\r
- 再演奏\r
- }\r
-\r
- public enum E曲読込画面の戻り値\r
- {\r
- 継続,\r
- 読込完了,\r
- 読込中止\r
- }\r
-\r
- [Flags]\r
- public enum EPadFlag // #24063 2011.1.16 yyagi コマンド入力用 パッド入力のフラグ化\r
- {\r
- None = 0,\r
- HH = 1,\r
- R = 1,\r
- SD = 2,\r
- G = 2,\r
- B = 4,\r
- BD = 4,\r
- HT = 8,\r
- Pick = 8,\r
- LT = 16,\r
- Wail = 16,\r
- FT = 32,\r
- Cancel = 32,\r
- CY = 64,\r
- Decide = 128,\r
- HHO = 128,\r
- RD = 256,\r
- LC = 512,\r
- HP = 1024, // #27029\r
- Unknown = 2048\r
- }\r
-\r
- public enum ESoundChipType\r
- {\r
- Drums,\r
- Guitar,\r
- Bass,\r
- SE,\r
- BGM,\r
- Unknown\r
- }\r
-\r
- public enum EAVIType\r
- {\r
- Unknown,\r
- AVI,\r
- AVIPAN\r
- }\r
-\r
- public enum EBGAType\r
- {\r
- Unknown,\r
- BMP,\r
- BMPTEX,\r
- BGA,\r
- BGAPAN\r
- }\r
-\r
- public enum EFIFOMode\r
- {\r
- フェードイン,\r
- フェードアウト\r
- }\r
-\r
- public enum EJudge\r
- {\r
- Perfect,\r
- Great,\r
- Good,\r
- Poor,\r
- Miss,\r
- Bad,\r
- Auto\r
- }\r
- // #36177 使用レーン数 ikanick add 16.04.15\r
- public enum EUseLanes : int\r
- {\r
- None,\r
- Dr_6,\r
- Dr_10,\r
- Dr_12,\r
- GB_3,\r
- GB_3_Open,\r
- GB_5,\r
- Other\r
- }\r
-\r
- [DataContract]\r
- public enum EActiveInstrument\r
- {\r
- [EnumMember]\r
- Both,\r
- [EnumMember]\r
- DrOnly,\r
- [EnumMember]\r
- GBOnly,\r
- }\r
-\r
- [DataContract]\r
- public enum ECYGroup\r
- {\r
- [EnumMember]\r
- Off,\r
- [EnumMember]\r
- Group\r
- }\r
-\r
- [DataContract]\r
- public enum EFTGroup\r
- {\r
- [EnumMember]\r
- Off,\r
- [EnumMember]\r
- Group\r
- }\r
-\r
- [DataContract]\r
- public enum EHHGroup\r
- {\r
- [EnumMember]\r
- Off,\r
- [EnumMember]\r
- HO_HC,\r
- [EnumMember]\r
- LC_HH,\r
- [EnumMember]\r
- Group\r
- }\r
-\r
- [DataContract]\r
- // #27029 2012.1.4 from add\r
- // Group はどちらも BD として扱われる\r
- public enum EBDGroup\r
- {\r
- [EnumMember]\r
- Off,\r
- [EnumMember]\r
- Group\r
- }\r
-\r
- [DataContract]\r
- public enum EDark\r
- {\r
- [EnumMember]\r
- Off,\r
- [EnumMember]\r
- Half,\r
- [EnumMember]\r
- Full\r
- }\r
-\r
- /// <summary>\r
- /// 演奏用のenum。ここを修正するときは、次に出てくる EパッドFlag もセットで修正すること。\r
- /// </summary>\r
- [DataContract]\r
- public enum EPad\r
- {\r
- [EnumMember]\r
- Min = 0,\r
- [EnumMember]\r
- DrumsPadMin = 0,\r
- [EnumMember]\r
- HH = 0,\r
- [EnumMember]\r
- SD = 1,\r
- [EnumMember]\r
- BD = 2,\r
- [EnumMember]\r
- HT = 3,\r
- [EnumMember]\r
- LT = 4,\r
- [EnumMember]\r
- CY = 5,\r
- [EnumMember]\r
- FT = 6,\r
- [EnumMember]\r
- HHO = 7,\r
- [EnumMember]\r
- RD = 8,\r
- [EnumMember]\r
- LC = 9,\r
- // #27029 2012.1.4 from\r
- [EnumMember]\r
- HP = 10,\r
- [EnumMember]\r
- DrumsPadMax = 11,\r
-\r
- [EnumMember]\r
- GuitarPadMin = 11,\r
- [EnumMember]\r
- GtR = 11,\r
- [EnumMember]\r
- GtG = 12,\r
- [EnumMember]\r
- GtB = 13,\r
- [EnumMember]\r
- GtPick = 14,\r
- [EnumMember]\r
- GtWail = 15,\r
- [EnumMember]\r
- GtCancel = 16,\r
- [EnumMember]\r
- GtDecide = 17,\r
- [EnumMember]\r
- GuitarPadMax = 18,\r
-\r
- [EnumMember]\r
- BassPadMin = 18,\r
- [EnumMember]\r
- BsR = 18,\r
- [EnumMember]\r
- BsG = 19,\r
- [EnumMember]\r
- BsB = 20,\r
- [EnumMember]\r
- BsPick = 21,\r
- [EnumMember]\r
- BsWail = 22,\r
- [EnumMember]\r
- BsCancel = 23,\r
- [EnumMember]\r
- BsDecide = 24,\r
- [EnumMember]\r
- BassPadMax = 25,\r
-\r
- [EnumMember]\r
- Capture = 25,\r
- [EnumMember]\r
- Max = 26,\r
- [EnumMember]\r
- Unknown,\r
- }\r
-\r
-\r
- [DataContract]\r
- public enum EDamage\r
- {\r
- [EnumMember]\r
- Easy,\r
- [EnumMember]\r
- Normal,\r
- [EnumMember]\r
- Hard\r
- }\r
-\r
- [DataContract]\r
- public enum ERandom\r
- {\r
- [EnumMember]\r
- Off,\r
- [EnumMember]\r
- Random,\r
- [EnumMember]\r
- Super,\r
- [EnumMember]\r
- Hyper\r
- }\r
-\r
- [DataContract]\r
- public enum EPart // ここを修正するときは、セットで次の EKeyConfigPart も修正すること。\r
- {\r
- [EnumMember]\r
- Drums,\r
- [EnumMember]\r
- Guitar,\r
- [EnumMember]\r
- Bass,\r
- [EnumMember]\r
- System,\r
- [EnumMember]\r
- Unknown,\r
- }\r
-\r
- [DataContract]\r
- public enum ESoundDeviceTypeForConfig\r
- {\r
- [EnumMember]\r
- DSound,\r
- [EnumMember]\r
- WASAPI_Exclusive,\r
- [EnumMember]\r
- WASAPI_Shared,\r
- [EnumMember]\r
- ASIO,\r
- }\r
-\r
- [DataContract]\r
- public enum EHitSoundPriority\r
- {\r
- [EnumMember]\r
- Chip,\r
- [EnumMember]\r
- Pad\r
- }\r
-\r
- [DataContract]\r
- public enum EInputDevice\r
- {\r
- [EnumMember]\r
- Keyboard,\r
- [EnumMember]\r
- MIDIIn,\r
- [EnumMember]\r
- JoyPad,\r
- [EnumMember]\r
- Mouse,\r
- [EnumMember]\r
- Unknown\r
- }\r
-\r
- [DataContract]\r
- public enum EJudgeDisplayPriority\r
- {\r
- [EnumMember]\r
- Under,\r
- [EnumMember]\r
- Over\r
- }\r
-\r
- [DataContract]\r
- public enum ELane\r
- {\r
- [EnumMember]\r
- Min = 0,\r
- [EnumMember]\r
- DrumsLaneMin = 0,\r
- [EnumMember]\r
- LC = 0,\r
- [EnumMember]\r
- HH = 1,\r
- [EnumMember]\r
- SD = 2,\r
- [EnumMember]\r
- BD = 3,\r
- [EnumMember]\r
- HT = 4,\r
- [EnumMember]\r
- LT = 5,\r
- [EnumMember]\r
- FT = 6,\r
- [EnumMember]\r
- CY = 7,\r
- [EnumMember]\r
- DrumsLaneMax = 8,\r
- [EnumMember]\r
- GuitarLaneMin = 8,\r
- [EnumMember]\r
- GtR = 8,\r
- [EnumMember]\r
- GtG = 9,\r
- [EnumMember]\r
- GtB = 10,\r
- [EnumMember]\r
- GtW = 11,\r
- [EnumMember]\r
- GuitarLaneMax = 12,\r
- [EnumMember]\r
- BassLaneMin = 12,\r
- [EnumMember]\r
- BsR = 12,\r
- [EnumMember]\r
- BsG = 13,\r
- [EnumMember]\r
- BsB = 14,\r
- [EnumMember]\r
- BsW = 15,\r
- [EnumMember]\r
- BassLaneMax = 16,\r
-\r
- // 要素数取得のための定義 ("BGM"は含めない)\r
- [EnumMember]\r
- Max = 16,\r
- [EnumMember]\r
- BGM = 17,\r
- }\r
-\r
- /// <summary>\r
- /// 入力ラグ表示タイプ\r
- /// </summary>\r
- [DataContract]\r
- public enum EShowLagType\r
- {\r
- [EnumMember]\r
- Off, // 全く表示しない\r
- [EnumMember]\r
- On, // 判定に依らず全て表示する\r
- [EnumMember]\r
- UGreat // GREAT-MISSの時のみ表示する(PERFECT時は表示しない)\r
- }\r
-\r
- [DataContract]\r
- public enum ESudHidInv\r
- {\r
- [EnumMember]\r
- Off,\r
- [EnumMember]\r
- Sudden,\r
- [EnumMember]\r
- Hidden,\r
- [EnumMember]\r
- SudHid,\r
- [EnumMember]\r
- SemiInv,\r
- [EnumMember]\r
- FullInv\r
- }\r
-\r
- /// <summary>\r
- /// 使用するAUTOゴーストデータの種類 (#35411 chnmr0)\r
- /// </summary>\r
- [DataContract]\r
- public enum EAutoGhostData\r
- {\r
- // 従来のAUTO\r
- [EnumMember]\r
- Perfect,\r
- // (.score.ini) の LastPlay ゴースト\r
- [EnumMember]\r
- LastPlay,\r
- // (.score.ini) の HiSkill ゴースト\r
- [EnumMember]\r
- HiSkill,\r
- // (.score.ini) の HiScore ゴースト\r
- [EnumMember]\r
- HiScore,\r
- // オンラインゴースト (DTXMOS からプラグインが取得、本体のみでは指定しても無効)\r
- [EnumMember]\r
- Online\r
- }\r
-\r
- /// <summary>\r
- /// 使用するターゲットゴーストデータの種類 (#35411 chnmr0)\r
- /// ここでNONE以外を指定してかつ、ゴーストが利用可能な場合グラフの目標値に描画される\r
- /// NONE の場合従来の動作\r
- /// </summary>\r
- [DataContract]\r
- public enum ETargetGhostData\r
- {\r
- [EnumMember]\r
- None,\r
- [EnumMember]\r
- Perfect,\r
- // (.score.ini) の LastPlay ゴースト\r
- [EnumMember]\r
- LastPlay,\r
- // (.score.ini) の HiSkill ゴースト\r
- [EnumMember]\r
- HiSkill,\r
- // (.score.ini) の HiScore ゴースト\r
- [EnumMember]\r
- HiScore,\r
- // オンラインゴースト (DTXMOS からプラグインが取得、本体のみでは指定しても無効)\r
- [EnumMember]\r
- Online\r
- }\r
-\r
- [DataContract]\r
- public enum EThreeState\r
- {\r
- [EnumMember]\r
- Off,\r
- [EnumMember]\r
- On,\r
- [EnumMember]\r
- X\r
- }\r
-\r
-\r
- [DataContract]\r
- public enum EOptionType\r
- {\r
- [EnumMember]\r
- Normal,\r
- [EnumMember]\r
- Other\r
- }\r
-\r
- [DataContract]\r
- public enum EClickType\r
- {\r
- [EnumMember]\r
- Off,\r
- [EnumMember]\r
- OnBeat, // 表拍\r
- [EnumMember]\r
- OffBeat // 裏拍\r
-// [EnumMember]\r
-// Triplet // 3連符\r
- }\r
-\r
- [DataContract]\r
- public class STPadValue<T>\r
- {\r
- [DataMember]\r
- public T HH;\r
- [DataMember]\r
- public T SD;\r
- [DataMember]\r
- public T BD;\r
- [DataMember]\r
- public T HT;\r
- [DataMember]\r
- public T LT;\r
- [DataMember]\r
- public T CY;\r
- [DataMember]\r
- public T FT;\r
- [DataMember]\r
- public T HHO;\r
- [DataMember]\r
- public T RD;\r
- [DataMember]\r
- public T LC;\r
- [DataMember]\r
- public T HP;\r
-\r
- [DataMember]\r
- public T GtR;\r
- [DataMember]\r
- public T GtG;\r
- [DataMember]\r
- public T GtB;\r
- [DataMember]\r
- public T GtPick;\r
- [DataMember]\r
- public T GtWail;\r
- [DataMember]\r
- public T GtCancel;\r
- [DataMember]\r
- public T GtDecide;\r
-\r
- [DataMember]\r
- public T BsR;\r
- [DataMember]\r
- public T BsG;\r
- [DataMember]\r
- public T BsB;\r
- [DataMember]\r
- public T BsPick;\r
- [DataMember]\r
- public T BsWail;\r
- [DataMember]\r
- public T BsCancel;\r
- [DataMember]\r
- public T BsDecide;\r
-\r
- [DataMember]\r
- public T Capture;\r
-\r
- public T this[EPad e]\r
- {\r
- get\r
- {\r
- switch (e)\r
- {\r
- case EPad.HH: return HH;\r
- case EPad.SD: return SD;\r
- case EPad.BD: return BD;\r
- case EPad.HT: return HT;\r
- case EPad.LT: return LT;\r
- case EPad.CY: return CY;\r
- case EPad.FT: return FT;\r
- case EPad.HHO: return HHO;\r
- case EPad.RD: return RD;\r
- case EPad.LC: return LC;\r
- case EPad.HP: return HP;\r
- case EPad.GtR: return GtR;\r
- case EPad.GtG: return GtG;\r
- case EPad.GtB: return GtB;\r
- case EPad.GtPick: return GtPick;\r
- case EPad.GtWail: return GtWail;\r
- case EPad.GtCancel: return GtCancel;\r
- case EPad.GtDecide: return GtDecide;\r
- case EPad.BsR: return BsR;\r
- case EPad.BsG: return BsG;\r
- case EPad.BsB: return BsB;\r
- case EPad.BsPick: return BsPick;\r
- case EPad.BsWail: return BsWail;\r
- case EPad.BsCancel: return BsCancel;\r
- case EPad.BsDecide: return BsDecide;\r
- case EPad.Capture: return Capture;\r
- }\r
- throw new IndexOutOfRangeException();\r
- }\r
-\r
- set\r
- {\r
- switch (e)\r
- {\r
- case EPad.HH: HH = value; return;\r
- case EPad.SD: SD = value; return;\r
- case EPad.BD: BD = value; return;\r
- case EPad.HT: HT = value; return;\r
- case EPad.LT: LT = value; return;\r
- case EPad.CY: CY = value; return;\r
- case EPad.FT: FT = value; return;\r
- case EPad.HHO: HHO = value; return;\r
- case EPad.RD: RD = value; return;\r
- case EPad.LC: LC = value; return;\r
- case EPad.HP: HP = value; return;\r
- case EPad.GtR: GtR = value; return;\r
- case EPad.GtG: GtG = value; return;\r
- case EPad.GtB: GtB = value; return;\r
- case EPad.GtPick: GtPick = value; return;\r
- case EPad.GtWail: GtWail = value; return;\r
- case EPad.GtCancel: GtCancel = value; return;\r
- case EPad.GtDecide: GtDecide = value; return;\r
- case EPad.BsR: BsR = value; return;\r
- case EPad.BsG: BsG = value; return;\r
- case EPad.BsB: BsB = value; return;\r
- case EPad.BsPick: BsPick = value; return;\r
- case EPad.BsWail: BsWail = value; return;\r
- case EPad.BsCancel: BsCancel = value; return;\r
- case EPad.BsDecide: BsDecide = value; return;\r
- case EPad.Capture: Capture = value; return;\r
- }\r
- throw new IndexOutOfRangeException();\r
- }\r
- }\r
- }\r
-\r
-\r
- [DataContract]\r
- public class STJudgeValue<T>\r
- {\r
- [DataMember]\r
- public T Perfect;\r
- [DataMember]\r
- public T Great;\r
- [DataMember]\r
- public T Good;\r
- [DataMember]\r
- public T Poor;\r
-\r
- public T this[EJudge index]\r
- {\r
- get\r
- {\r
- switch (index)\r
- {\r
- case EJudge.Perfect: return this.Perfect;\r
- case EJudge.Great: return this.Great;\r
- case EJudge.Good: return this.Good;\r
- case EJudge.Poor: return this.Poor;\r
- }\r
- throw new IndexOutOfRangeException();\r
- }\r
- set\r
- {\r
- switch (index)\r
- {\r
- case EJudge.Perfect: this.Perfect = value; return;\r
- case EJudge.Great: this.Great = value; return;\r
- case EJudge.Good: this.Good = value; return;\r
- case EJudge.Poor: this.Poor = value; return;\r
- }\r
- throw new IndexOutOfRangeException();\r
- }\r
- }\r
- }\r
-\r
- /// <summary>\r
- /// Drum/Guitar/Bass の値を扱う汎用の構造体。\r
- /// indexはE楽器パートと一致させること\r
- /// </summary>\r
- /// <typeparam name="T">値の型。</typeparam>\r
- [Serializable]\r
- [StructLayout(LayoutKind.Sequential)]\r
- [DataContract]\r
- public struct STDGBSValue<T>\r
- {\r
- [DataMember]\r
- public T Drums;\r
- [DataMember]\r
- public T Guitar;\r
- [DataMember]\r
- public T Bass;\r
- [DataMember]\r
- public T System;\r
- [DataMember]\r
- public T Unknown;\r
-\r
- public T this[EPart index]\r
- {\r
- get\r
- {\r
- switch (index)\r
- {\r
- case EPart.Drums: return Drums;\r
- case EPart.Guitar: return Guitar;\r
- case EPart.Bass: return Bass;\r
- case EPart.System: return System;\r
- case EPart.Unknown: return Unknown;\r
- }\r
- throw new IndexOutOfRangeException();\r
- }\r
- set\r
- {\r
- switch (index)\r
- {\r
- case EPart.Drums: Drums = value; return;\r
- case EPart.Guitar: Guitar = value; return;\r
- case EPart.Bass: Bass = value; return;\r
- case EPart.System: System = value; return;\r
- case EPart.Unknown: Unknown = value; return;\r
- }\r
- throw new IndexOutOfRangeException();\r
- }\r
- }\r
- }\r
-\r
- [DataContract]\r
- public class STLaneValue<T>\r
- {\r
- public static ELane DrumsLane(EChannel x)\r
- {\r
- switch (x)\r
- {\r
- case EChannel.HiHatClose: return ELane.HH;\r
- case EChannel.HiHatOpen: return ELane.HH;\r
- case EChannel.Snare: return ELane.SD;\r
- case EChannel.BassDrum: return ELane.BD;\r
- case EChannel.HighTom: return ELane.HT;\r
- case EChannel.LowTom: return ELane.LT;\r
- case EChannel.FloorTom: return ELane.FT;\r
- case EChannel.Cymbal: return ELane.CY;\r
- case EChannel.LeftCymbal: return ELane.LC;\r
- case EChannel.RideCymbal: return ELane.CY;\r
- }\r
- throw new IndexOutOfRangeException("Drums Index is out of range");\r
- }\r
-\r
- [DataMember]\r
- public T LC;\r
- [DataMember]\r
- public T HH;\r
- [DataMember]\r
- public T SD;\r
- [DataMember]\r
- public T BD;\r
- [DataMember]\r
- public T HT;\r
- [DataMember]\r
- public T LT;\r
- [DataMember]\r
- public T FT;\r
- [DataMember]\r
- public T CY;\r
- [DataMember]\r
- public T GtR;\r
- [DataMember]\r
- public T GtG;\r
- [DataMember]\r
- public T GtB;\r
- [DataMember]\r
- public T GtW;\r
- [DataMember]\r
- public T BsR;\r
- [DataMember]\r
- public T BsG;\r
- [DataMember]\r
- public T BsB;\r
- [DataMember]\r
- public T BsW;\r
-\r
- public T this[ELane index]\r
- {\r
- get\r
- {\r
- switch (index)\r
- {\r
- case ELane.LC: return LC;\r
- case ELane.HH: return HH;\r
- case ELane.SD: return SD;\r
- case ELane.BD: return BD;\r
- case ELane.HT: return HT;\r
- case ELane.LT: return LT;\r
- case ELane.FT: return FT;\r
- case ELane.CY: return CY;\r
- case ELane.GtR: return GtR;\r
- case ELane.GtG: return GtG;\r
- case ELane.GtB: return GtB;\r
- case ELane.GtW: return GtW;\r
- case ELane.BsR: return BsR;\r
- case ELane.BsG: return BsG;\r
- case ELane.BsB: return BsB;\r
- case ELane.BsW: return BsW;\r
- }\r
- throw new IndexOutOfRangeException();\r
- }\r
- set\r
- {\r
- switch (index)\r
- {\r
- case ELane.LC: LC = value; return;\r
- case ELane.HH: HH = value; return;\r
- case ELane.SD: SD = value; return;\r
- case ELane.BD: BD = value; return;\r
- case ELane.HT: HT = value; return;\r
- case ELane.LT: LT = value; return;\r
- case ELane.FT: FT = value; return;\r
- case ELane.CY: CY = value; return;\r
- case ELane.GtR: GtR = value; return;\r
- case ELane.GtG: GtG = value; return;\r
- case ELane.GtB: GtB = value; return;\r
- case ELane.GtW: GtW = value; return;\r
- case ELane.BsR: BsR = value; return;\r
- case ELane.BsG: BsG = value; return;\r
- case ELane.BsB: BsB = value; return;\r
- case ELane.BsW: BsW = value; return;\r
- }\r
- throw new IndexOutOfRangeException();\r
- }\r
- }\r
- }\r
-\r
- [DataContract]\r
- public struct STInstValue<T>\r
- {\r
- [DataMember]\r
- public T Both;\r
- [DataMember]\r
- public T DrOnly;\r
- [DataMember]\r
- public T GBOnly;\r
-\r
- public T this[EActiveInstrument inst]\r
- {\r
- get\r
- {\r
- switch (inst)\r
- {\r
- case EActiveInstrument.Both: return Both;\r
- case EActiveInstrument.DrOnly: return DrOnly;\r
- case EActiveInstrument.GBOnly: return GBOnly;\r
- }\r
- throw new IndexOutOfRangeException();\r
- }\r
- set\r
- {\r
- switch (inst)\r
- {\r
- case EActiveInstrument.Both: Both = value; return;\r
- case EActiveInstrument.DrOnly: DrOnly = value; return;\r
- case EActiveInstrument.GBOnly: GBOnly = value; return;\r
- }\r
- throw new IndexOutOfRangeException();\r
- }\r
- }\r
- }\r
-\r
-\r
- [DataContract]\r
- public class CKeyAssign\r
- {\r
- [DataMember]\r
- public EInputDevice InputDevice;\r
- [DataMember]\r
- public int ID;\r
- [DataMember]\r
- public int Code;\r
- public CKeyAssign(EInputDevice DeviceType, int nID, int nCode)\r
- {\r
- this.InputDevice = DeviceType;\r
- this.ID = nID;\r
- this.Code = nCode;\r
- }\r
- }\r
-\r
- public enum EOptionPanelDirection\r
- {\r
- Horizontal,\r
- Vertical\r
- }\r
-\r
- public static class EnumConverter\r
- {\r
- public static ELane LaneFromPad(EPad t)\r
- {\r
- switch (t)\r
- {\r
- case EPad.HH: return ELane.HH;\r
- case EPad.SD: return ELane.SD;\r
- case EPad.BD: return ELane.BD;\r
- case EPad.HT: return ELane.HT;\r
- case EPad.LT: return ELane.LT;\r
- case EPad.CY: return ELane.CY;\r
- case EPad.FT: return ELane.FT;\r
- case EPad.HHO: return ELane.HH;\r
- case EPad.RD: return ELane.CY;\r
- case EPad.LC: return ELane.LC;\r
- case EPad.GtR: return ELane.GtR;\r
- case EPad.GtG: return ELane.GtG;\r
- case EPad.GtB: return ELane.GtB;\r
- case EPad.GtWail: return ELane.GtW;\r
- case EPad.BsR: return ELane.BsR;\r
- case EPad.BsG: return ELane.BsG;\r
- case EPad.BsB: return ELane.BsB;\r
- case EPad.BsWail: return ELane.BsW;\r
- }\r
- throw new IndexOutOfRangeException();\r
- }\r
-\r
- public static EPad PadFromLane(ELane t)\r
- {\r
- switch (t)\r
- {\r
- case ELane.LC: return EPad.LC;\r
- case ELane.HH: return EPad.HH;\r
- case ELane.SD: return EPad.SD;\r
- case ELane.BD: return EPad.BD;\r
- case ELane.HT: return EPad.HT;\r
- case ELane.LT: return EPad.LT;\r
- case ELane.FT: return EPad.FT;\r
- case ELane.CY: return EPad.CY;\r
- case ELane.GtR: return EPad.GtR;\r
- case ELane.GtG: return EPad.GtG;\r
- case ELane.GtB: return EPad.GtB;\r
- case ELane.GtW: return EPad.GtWail;\r
- case ELane.BsR: return EPad.BsR;\r
- case ELane.BsG: return EPad.BsG;\r
- case ELane.BsB: return EPad.BsB;\r
- case ELane.BsW: return EPad.BsWail;\r
- }\r
- throw new IndexOutOfRangeException();\r
- }\r
-\r
- /// <summary>\r
- /// EChannel -> EPad\r
- /// </summary>\r
- /// <param name="e">変換する EChannel列挙子。</param>\r
- /// <param name="NotDistinguishHH">HHOをパッドHHとして扱いたい場合 true。</param>\r
- /// <returns></returns>\r
- public static EPad PadFromChannel(EChannel e)\r
- {\r
- switch (e)\r
- {\r
- case EChannel.HiHatClose: return EPad.HH;\r
- case EChannel.Snare: return EPad.SD;\r
- case EChannel.BassDrum: return EPad.BD;\r
- case EChannel.LeftBassDrum: return EPad.BD;\r
- case EChannel.HighTom: return EPad.HT;\r
- case EChannel.LowTom: return EPad.LT;\r
- case EChannel.Cymbal: return EPad.CY;\r
- case EChannel.FloorTom: return EPad.FT;\r
- case EChannel.HiHatOpen: return EPad.HHO;\r
- case EChannel.RideCymbal: return EPad.RD;\r
- case EChannel.LeftCymbal: return EPad.LC;\r
- case EChannel.LeftPedal: return EPad.HP;\r
- }\r
- throw new IndexOutOfRangeException();\r
- }\r
-\r
- public static ELane LaneFromChannel(EChannel e)\r
- {\r
- switch (e)\r
- {\r
- case EChannel.HiHatClose: return ELane.HH;\r
- case EChannel.Snare: return ELane.SD;\r
- case EChannel.BassDrum: return ELane.BD;\r
- case EChannel.LeftBassDrum: return ELane.BD;\r
- case EChannel.HighTom: return ELane.HT;\r
- case EChannel.LowTom: return ELane.LT;\r
- case EChannel.Cymbal: return ELane.CY;\r
- case EChannel.FloorTom: return ELane.FT;\r
- case EChannel.HiHatOpen: return ELane.HH;\r
- case EChannel.RideCymbal: return ELane.CY;\r
- case EChannel.LeftCymbal: return ELane.LC;\r
- //case EChannel.LeftPedal: return ELane.HH; // LPは仮にHHに落とし込む 後日、CDTXInputで別Laneに割り振るようにした後、このcaseは削除する\r
- }\r
- throw new IndexOutOfRangeException();\r
- }\r
-\r
- public static EChannel ChannelFromPad(EPad pad)\r
- {\r
- /*\r
- EChannel.HiHatClose, 0\r
- EChannel.Snare, 1 \r
- EChannel.BassDrum, 2\r
- EChannel.HighTom, 3 \r
- EChannel.LowTom,4 \r
- EChannel.FloorTom,5\r
- EChannel.Cymbal,6\r
- EChannel.HiHatOpen,7\r
- EChannel.RideCymbal,8\r
- EChannel.LeftCymbal, 9\r
- */\r
- switch (pad)\r
- {\r
- case EPad.HH: return EChannel.HiHatClose;\r
- case EPad.HHO: return EChannel.HiHatOpen;\r
- case EPad.BD: return EChannel.BassDrum;\r
- case EPad.SD: return EChannel.Snare;\r
- case EPad.HT: return EChannel.HighTom;\r
- case EPad.LT: return EChannel.LowTom;\r
- case EPad.FT: return EChannel.FloorTom;\r
- case EPad.CY: return EChannel.Cymbal;\r
- case EPad.LC: return EChannel.LeftCymbal;\r
- case EPad.RD: return EChannel.RideCymbal;\r
- case EPad.HP: return EChannel.LeftPedal;\r
- }\r
- throw new NotImplementedException();\r
- }\r
- }\r
-}\r