using System;\r
using FDK;\r
\r
+using SlimDXKey = SlimDX.DirectInput.Key;\r
+\r
namespace DTXMania\r
{\r
/// <summary>\r
/// ・CActConfigList で新しく追加した項目を list に追加してください。\r
/// </summary>\r
[DataContract]\r
- public class CConfigXml : IExtensibleDataObject\r
+ public class CConfigXml : IExtensibleDataObject, ICloneable\r
{\r
public static readonly int AssignableCodes = 16;\r
\r
}\r
}\r
\r
+ /// <summary>\r
+ /// とりあえずshallow copyによるClone()。\r
+ /// </summary>\r
+ /// <returns>自身を複製したCConfigXmlクラス。</returns>\r
+ public object Clone()\r
+ {\r
+ return (CConfigXml) MemberwiseClone();\r
+ }\r
+\r
+\r
[DataMember]\r
public COptionBool bFullAVI;\r
[DataMember]\r
public COptionInteger nBGAlpha;\r
[DataMember]\r
public Coordinates.CRect rcWindow;\r
+\r
+ public Coordinates.CRect rcWindow_backup; // Viewerとしての使用時は、Playerとして使用する際のウインドウ情報をバックアップしておき、終了時に復元する\r
+ // 内部保持するだけの情報であるため、Config.xmlに保存する必要はなく、[DataMember]は不要\r
+\r
[DataMember]\r
public Coordinates.CRect rcViewerWindow;\r
+ \r
[DataMember]\r
public COptionInteger nMasterVolume;\r
[DataMember]\r
// #24820 2013.1.17 yyagi ASIOデバイス\r
public COptionStringList strASIODevice;\r
\r
+ [DataMember( Order = 106 )]\r
+ public COptionEnum<EClickType> eClickType;\r
+ [DataMember( Order = 106 )]\r
+ public COptionInteger nClickHighVolume;\r
+ [DataMember( Order = 106 )]\r
+ public COptionInteger nClickLowVolume;\r
+\r
+\r
[DataMember]\r
public STDGBSValue<COptionBool> bLight;\r
[DataMember]\r
[DataMember]\r
public STDGBSValue<COptionBool> bDisplayJudge;\r
\r
+\r
+ \r
/// <summary>\r
/// 楽器左端座標。ここを基準に各パーツを配置する。\r
/// </summary>\r
bAVI = new COptionBool(true);\r
bBGA = new COptionBool(true);\r
bFillin = new COptionBool(true);\r
- bLogDTX = new COptionBool(true);\r
+ bLogDTX = new COptionBool(false);\r
bLogEnumerateSongs = new COptionBool(false);\r
bLogCreateRelease = new COptionBool(false);\r
bCymbalFree = new COptionBool(false);\r
bDebugInfo = new COptionBool(false);\r
bLog = new COptionBool(true);\r
bAutoPlay = new COptionPadBool();\r
- for (EPad pad = EPad.Min; pad < EPad.Max; ++pad)\r
+ for ( EPad pad = EPad.DrumsPadMin; pad < EPad.DrumsPadMax; ++pad )\r
+ {\r
+ bAutoPlay[ pad ] = new COptionBool( false );\r
+ }\r
+ for ( EPad pad = EPad.GuitarPadMin; pad < EPad.BassPadMax; ++pad )\r
{\r
- bAutoPlay[pad] = new COptionBool(false);\r
+ bAutoPlay[ pad ] = new COptionBool( true );\r
}\r
- bViewerVSyncWait = new COptionBool(true);\r
+ bAutoPlay[ EPad.Capture ] = new COptionBool( true );\r
+ bViewerVSyncWait = new COptionBool( true );\r
bViewerShowDebugStatus = new COptionBool(true);\r
bViewerTimeStretch = new COptionBool(false);\r
bViewerDrumsActive = new COptionBool(true);\r
bUseOSTimer = new COptionBool(false);\r
bDynamicBassMixerManagement = new COptionBool(true);\r
bTimeStretch = new COptionBool(false);\r
- nSoundDeviceType = new COptionEnum<ESoundDeviceTypeForConfig>(FDK.COS.bIsVistaOrLater ? ESoundDeviceTypeForConfig.WASAPI : ESoundDeviceTypeForConfig.DSound);\r
+ nSoundDeviceType = new COptionEnum<ESoundDeviceTypeForConfig>(FDK.COS.bIsVistaOrLater ? ESoundDeviceTypeForConfig.WASAPI_Exclusive : ESoundDeviceTypeForConfig.DSound);\r
bForceHighPowerPlan = new COptionBool( false );\r
bEventDrivenWASAPI = new COptionBool( false );\r
bLoadDTXDetail = new COptionBool( false ); \r
// enum\r
eDamageLevel = new COptionEnum<EDamage>(EDamage.Normal);\r
eJudgePriority = new COptionEnum<EJudgeDisplayPriority>(EJudgeDisplayPriority.Under);\r
- eCYGroup = new COptionEnum<ECYGroup>(ECYGroup.None);\r
+ eCYGroup = new COptionEnum<ECYGroup>(ECYGroup.Off);\r
eDark = new COptionEnum<EDark>(EDark.Off);\r
- eFTGroup = new COptionEnum<EFTGroup>(EFTGroup.None);\r
- eHHGroup = new COptionEnum<EHHGroup>(EHHGroup.None);\r
- eBDGroup = new COptionEnum<EBDGroup>(EBDGroup.None);\r
- Backup1BDHHGroup = new COptionEnum<EHHGroup>(EHHGroup.None);\r
+ eFTGroup = new COptionEnum<EFTGroup>(EFTGroup.Off);\r
+ eHHGroup = new COptionEnum<EHHGroup>(EHHGroup.Off);\r
+ eBDGroup = new COptionEnum<EBDGroup>(EBDGroup.Off);\r
+ Backup1BDHHGroup = new COptionEnum<EHHGroup>(EHHGroup.Off);\r
Backup1BDPriotiry = new COptionEnum<EHitSoundPriority>(EHitSoundPriority.Chip);\r
eHitSoundPriorityCY = new COptionEnum<EHitSoundPriority>(EHitSoundPriority.Chip);\r
eHitSoundPriorityFT = new COptionEnum<EHitSoundPriority>(EHitSoundPriority.Chip);\r
\r
// integer\r
rcWindow = new Coordinates.CRect(100, 100, 1280, 720);\r
- nSleepPerFrameMs = new COptionInteger(-1);\r
+ rcWindow_backup = new Coordinates.CRect( 100, 100, 1280, 720 );\r
+ nSleepPerFrameMs = new COptionInteger( -1 );\r
nSleepUnfocusMs = new COptionInteger(1);\r
nBGAlpha = new COptionInteger(100);\r
nPreSoundWeightMs = new COptionInteger(1000);\r
nWASAPIBufferSizeMs = new COptionInteger(50);\r
nChipDisplayTimeMs = new COptionInteger(3000);\r
nChipFadeoutTimeMs = new COptionInteger(2000);\r
- rcViewerWindow = new Coordinates.CRect(100, 100, 1280, 720);\r
+ rcViewerWindow = new Coordinates.CRect(100, 100, 640, 360);\r
nMasterVolume = new COptionInteger(100);\r
nPolyphonicSounds = new COptionInteger(4);\r
\r
+ eClickType = new COptionEnum<EClickType>(EClickType.Off);\r
+ nClickHighVolume = new COptionInteger(100);\r
+ nClickLowVolume = new COptionInteger(100);\r
+\r
// dgb\r
bEmphasizePlaySound = new STDGBSValue<COptionBool>();\r
bReverse = new STDGBSValue<COptionBool>();\r
cdLaneOrder.FT.Value = 6;\r
cdLaneOrder.CY.Value = 7;\r
\r
+ cdLaneOrder.GtR.Value = 0;\r
cdLaneOrder.GtG.Value = 1;\r
cdLaneOrder.GtB.Value = 2;\r
cdLaneOrder.GtW.Value = 3;\r
\r
+ cdLaneOrder.BsR.Value = 0;\r
cdLaneOrder.BsG.Value = 1;\r
- cdLaneOrder.BsR.Value = 2;\r
+ cdLaneOrder.GtB.Value = 2;\r
cdLaneOrder.BsW.Value = 3;\r
\r
bConfigIniが存在している = System.IO.File.Exists(CDTXMania.Instance.strEXEのあるフォルダ + "Config.xml");\r
bAutoPlay.BsB.Initialize( "strCfgBsAutoB" );\r
bAutoPlay.BsPick.Initialize( "strCfgBsAutoPick" );\r
bAutoPlay.BsWail.Initialize( "strCfgBsAutoWailing" );\r
+ bAutoPlay.Capture.Initialize( "strCfgCapture" );\r
\r
bLoadSoundSpeed.Initialize( "strCfgSysSoundLoadLimiter" );\r
bIsAutoResultCapture.Initialize( "strCfgSysAutoResultCapture" );\r
eActiveInst.Initialize( "strCfgSysPlayMode", typeof(EActiveInstrument));\r
nShowLagType.Initialize( "strCfgSysShowLagType", typeof(EShowLagType));\r
\r
+ eClickType.Initialize( "strCfgSysClickType", typeof( EClickType ) );\r
+ nClickHighVolume.Initialize( "strCfgSysClickHighVolume", 0, 101 );\r
+ nClickLowVolume.Initialize( "strCfgSysClickLowVolume", 0, 101 );\r
+\r
+\r
// integer\r
nSleepPerFrameMs.Initialize( "strCfgSysSleepPerFrame", -1, 33 );\r
nSleepUnfocusMs.Initialize( "strCfgSysSleepUnfocus", 0, 33 );\r
- nBGAlpha.Initialize( "strCfgSysBGAAlpha", 0, 255 );\r
+ nBGAlpha.Initialize( "strCfgSysBGAAlpha", 0, 256 );\r
nPreSoundWeightMs.Initialize( "strCfgSysPreSoundWait", 0, 10001);\r
nPreImageWeightMs.Initialize( "strCfgSysPreImageWait", 0, 10001);\r
nFontSizeDotSongSelect.Initialize("", "", 5);\r
nVelocityMin.FT.Initialize( "strCfgDrFTVelocityMin", 0, 128 );\r
nVelocityMin.CY.Initialize( "strCfgDrCYVelocityMin", 0, 128 );\r
nVelocityMin.RD.Initialize( "strCfgDrRDVelocityMin", 0, 128 );\r
- nRisky.Initialize( "strCfgSysRisky", 0, 31 );\r
+ nRisky.Initialize( "strCfgSysRisky", 0, 100 );\r
nWASAPIBufferSizeMs.Initialize( "strCfgSysWASAPIBufSize", 0, 100001);\r
nChipDisplayTimeMs.Initialize("", "", 0);\r
nChipFadeoutTimeMs.Initialize("", "", 0);\r
Backup1BDPriotiry.Value = eHitSoundPriorityHH;\r
\r
// HH Group ... HH-0 → HH-2 / HH-1 → HH-3 / HH-2 → 変更なし / HH-3 → 変更なし\r
- if (eHHGroup == EHHGroup.None)\r
+ if (eHHGroup == EHHGroup.Off)\r
{\r
eHHGroup.Value = EHHGroup.LC_HH;\r
}\r
while ( \r
( CDTXMania.Instance.Pad.bDecidePadIsPressedDGB() ||\r
( CDTXMania.Instance.ConfigIni.bEnterがキー割り当てのどこにも使用されていない &&\r
- CDTXMania.Instance.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.Return )\r
+ CDTXMania.Instance.Input管理.Keyboard.bキーが押された( (int) SlimDXKey.Return )\r
)\r
)\r
)\r
for (int k = 0; k < AssignableCodes; k++)\r
{\r
if ((KeyAssign[j][k].入力デバイス == EInputDevice.Keyboard) &&\r
- (KeyAssign[j][k].コード == (int)SlimDX.DirectInput.Key.Return))\r
+ (KeyAssign[j][k].コード == (int)SlimDXKey.Return))\r
{\r
return false;\r
}\r
}\r
}\r
}\r
-const string strDefaultKeyAssign = @"\r
+\r
+ const string strDefaultKeyAssign = @"\r
HH=K035,M042,M093\r
SD=K033,M025,M026,M027,M028,M029,M031,M032,M034,M037,M038,M040,M0113\r
BD=K012,K0126,M033,M035,M036,M0112\r
GtR=K055\r
GtG=K056,J012\r
GtB=K057\r
-GtPick=K0115,K046,J06\r
+GtPick=K0115,K046\r
GtWail=K0116\r
GtDecide=K060\r
GtCancel=K061\r
\r
BsR=K090\r
-BsG=K091,J013\r
+BsG=K091\r
BsB=K092\r
-BsPick=K0103,K0100,J08\r
+BsPick=K0103,K0100\r
BsWail=K089\r
BsDecide=K096\r
BsCancel=K097\r