\r
Microsoft Visual Studio Solution File, Format Version 12.00\r
# Visual Studio 2013\r
-VisualStudioVersion = 12.0.31101.0\r
+VisualStudioVersion = 12.0.40629.0\r
MinimumVisualStudioVersion = 10.0.40219.1\r
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DTXManiaプロジェクト", "DTXManiaプロジェクト.csproj", "{81BEC512-8074-4BD1-8A3C-AC73BC7BF846}"\r
ProjectSection(ProjectDependencies) = postProject\r
<EmbeddedResource Include="Properties\Resources.ja-JP.resx">\r
<SubType>Designer</SubType>\r
</EmbeddedResource>\r
+ <None Include="packages.config" />\r
<None Include="コード\ステージ\04.コンフィグ\DeletedCode.cs" />\r
<Compile Include="コード\ステージ\04.コンフィグ\CConfigXml.cs" />\r
<Compile Include="コード\ステージ\04.コンフィグ\COption.cs" />\r
<Compile Include="コード\ステージ\07.演奏\CStage演奏画面共通_描画.cs" />\r
<Compile Include="コード\ステージ\07.演奏\TypesForPlayStage.cs" />\r
<Compile Include="コード\ステージ\CActDigit.cs" />\r
+ <Compile Include="コード\全体\CResources.cs" />\r
<Compile Include="コード\全体\Coordinates.cs" />\r
<Compile Include="コード\全体\STPlugin.cs" />\r
<Compile Include="コード\全体\TextureFactory.cs" />\r
// すべての値を指定するか、下のように '*' を使ってビルドおよびリビジョン番号を \r
// 既定値にすることができます:\r
// [assembly: AssemblyVersion("1.0.*")]\r
-[assembly: AssemblyVersion( "104.0.0.0" )]\r
-[assembly: AssemblyFileVersion( "104.0.0.0" )]\r
+[assembly: AssemblyVersion( "105.0.0.0" )]\r
+[assembly: AssemblyFileVersion( "105.0.0.0" )]\r
[assembly: NeutralResourcesLanguageAttribute("ja-JP")]\r
\r
// このアセンブリは「ライブラリ」である(難読化ツールへの指示)。\r
if (nCurrentTime > wc.n再生開始時刻[i])\r
{\r
long nAbsTimeFromStartPlaying = nCurrentTime - wc.n再生開始時刻[i];\r
- //Trace.TraceInformation( "再生位置自動補正: {0}, seek先={1}ms, 全音長={2}ms",\r
- // Path.GetFileName( wc.rSound[ 0 ].strファイル名 ),\r
- // nAbsTimeFromStartPlaying,\r
- // wc.rSound[ 0 ].n総演奏時間ms\r
+ //Trace.TraceInformation( "再生位置自動補正: {0}, 実タイマ値={1}, seek先={2}ms, 全音長={3}ms",\r
+ // Path.GetFileName( wc.rSound[ 0 ].strファイル名 ),\r
+ // nCurrentTime,\r
+ // nAbsTimeFromStartPlaying,\r
+ // wc.rSound[ 0 ].n総演奏時間ms\r
//);\r
// wc.rSound[ i ].t再生位置を変更する( wc.rSound[ i ].t時刻から位置を返す( nAbsTimeFromStartPlaying ) );\r
wc.rSound[i].t再生位置を変更する(nAbsTimeFromStartPlaying); // WASAPI/ASIO用\r
prvFont = new CPrivateFastFont(CSkin.Path(@"Graphics\fonts\mplus-1p-heavy.ttf"), 36);\r
//prvFont = new CPrivateFont( new FontFamily("MS UI Gothic"), 36, FontStyle.Bold );\r
\r
-\r
- System.Threading.Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture( "ja-JP" );\r
- //System.Threading.Thread.CurrentThread.CurrentCulture; \r
- // ResourceManagerを取得する\r
- System.Reflection.Assembly asm;\r
- asm = System.Reflection.Assembly.GetExecutingAssembly();\r
- //asm = System.Reflection.Assembly.Load( "DTXManiaGR" );\r
-\r
- //または次のようにもできる\r
- //asm = this.GetType().Assembly;\r
-\r
- System.Resources.ResourceManager resource =\r
- //new ResourceManager( "DTXManiaGR", this.GetType().Assembly );\r
- DTXMania.Properties.Resources.ResourceManager;\r
- //new ResourceManager( typeof(CStageタイトル));\r
- CultureInfo culture = CultureInfo.CreateSpecificCulture( "ja-JP" );\r
-\r
- //ResourceManager resource = new ResourceManager( "DTXMania.DTXManiaGR", asm );\r
- //ResourceManager resource = new ResourceManager( "DTXManiaGR", asm );\r
-\r
- //ResourceSet rs = resource.GetResourceSet( CultureInfo.CreateSpecificCulture( "ja-JP" ),\r
- // true, false );\r
- //if (rs == null)\r
- //{\r
- // Debug.WriteLine( "No ja-JP resource set" );\r
- //}\r
-\r
-\r
-//Debug.WriteLine( resource.GetString( "strTitleStart", new System.Globalization.CultureInfo( "ja-JP" ) ) );\r
- //string strTitleStart = rs.GetString( "strTitleStart" );\r
- string strTitleStart = resource.GetString( "strTitleStart", culture );\r
- Debug.WriteLine( "{0}: {1}", culture.Name, strTitleStart );\r
- \r
- string[] menuStr = { strTitleStart, "CONFIGURATION", "EXIT" };\r
+ string strTitleStart = CDTXMania.Instance.Resources.Title( "strTitleStart" );\r
+ string strTitleConfig = CDTXMania.Instance.Resources.Title( "strTitleConfiguration" );\r
+ string strTitleExit = CDTXMania.Instance.Resources.Title( "strTitleExit" );\r
+ string[] menuStr = { strTitleStart, strTitleConfig, strTitleExit };\r
this.txMenuItem = new CTexture[menuStr.Length];\r
this.stMenuItem = new STMenuItem[menuStr.Length];\r
\r
return opt;\r
};\r
\r
+ CResources cr = CDTXMania.Instance.Resources;\r
+\r
if (eMenu == Eメニュー種別.DisplaySystem)\r
{\r
list項目リスト.Add(ReturnToMenu.System);\r
else if (eMenu == Eメニュー種別.KeyAssignSystem)\r
{\r
list項目リスト.Add(ReturnToMenu.System);\r
- list項目リスト.Add(PadNotifier(EPad.Capture, "Capture", Properties.Resources.strCfgKeyAssignキャプチャ説明));\r
+ list項目リスト.Add(PadNotifier(EPad.Capture, cr.Title("strCfgKeyAssignCapture"), cr.Value("strCfgKeyAssignCapture") ));\r
}\r
else if (eMenu == Eメニュー種別.KeyAssignDrums)\r
{\r
list項目リスト.Add(ReturnToMenu.Drums);\r
- list項目リスト.Add(PadNotifier(EPad.LC, "LeftCymbal", Properties.Resources.strCfgKeyAssignLC));\r
- list項目リスト.Add(PadNotifier(EPad.HH, "HiHat(Close)", Properties.Resources.strCfgKeyAssignHH));\r
- list項目リスト.Add(PadNotifier(EPad.HHO, "HiHat(Open)", Properties.Resources.strCfgKeyAssignHHO));\r
- list項目リスト.Add(PadNotifier(EPad.SD, "Snare", Properties.Resources.strCfgKeyAssignSD));\r
- list項目リスト.Add(PadNotifier(EPad.BD, "Kick", Properties.Resources.strCfgKeyAssignBD));\r
- list項目リスト.Add(PadNotifier(EPad.HT, "HighTom", Properties.Resources.strCfgKeyAssignHT));\r
- list項目リスト.Add(PadNotifier(EPad.LT, "LowTom", Properties.Resources.strCfgKeyAssignLT));\r
- list項目リスト.Add(PadNotifier(EPad.FT, "FloorTom", Properties.Resources.strCfgKeyAssignFT));\r
- list項目リスト.Add(PadNotifier(EPad.CY, "Cymbal", Properties.Resources.strCfgKeyAssignCY));\r
- list項目リスト.Add(PadNotifier(EPad.RD, "RideCymbal", Properties.Resources.strCfgKeyAssignRD));\r
- list項目リスト.Add(PadNotifier(EPad.HP, "HiHatPedal", Properties.Resources.strCfgKeyAssignHP));\r
+ list項目リスト.Add(PadNotifier(EPad.LC, cr.Title("strCfgKeyAssignLC"), cr.Value("strCfgKeyAssignLC") ));\r
+ list項目リスト.Add(PadNotifier(EPad.HH, cr.Title("strCfgKeyAssignHH"), cr.Value("strCfgKeyAssignHH") ));\r
+ list項目リスト.Add(PadNotifier(EPad.HHO,cr.Title("strCfgKeyAssignHHO"), cr.Value("strCfgKeyAssignHHO") ));\r
+ list項目リスト.Add(PadNotifier(EPad.SD, cr.Title("strCfgKeyAssignSD"), cr.Value("strCfgKeyAssignSD") ));\r
+ list項目リスト.Add(PadNotifier(EPad.BD, cr.Title("strCfgKeyAssignBD"), cr.Value("strCfgKeyAssignBD") ));\r
+ list項目リスト.Add(PadNotifier(EPad.HT, cr.Title("strCfgKeyAssignHT"), cr.Value("strCfgKeyAssignHT") ));\r
+ list項目リスト.Add(PadNotifier(EPad.LT, cr.Title("strCfgKeyAssignLT"), cr.Value("strCfgKeyAssignLT") ));\r
+ list項目リスト.Add(PadNotifier(EPad.FT, cr.Title("strCfgKeyAssignFT"), cr.Value("strCfgKeyAssignFT") ));\r
+ list項目リスト.Add(PadNotifier(EPad.CY, cr.Title("strCfgKeyAssignCY"), cr.Value("strCfgKeyAssignCY") ));\r
+ list項目リスト.Add(PadNotifier(EPad.RD, cr.Title("strCfgKeyAssignRD"), cr.Value("strCfgKeyAssignRD") ));\r
+ list項目リスト.Add(PadNotifier(EPad.HP, cr.Title("strCfgKeyAssignHP"), cr.Value("strCfgKeyAssignHP") ));\r
list項目リスト.Add(CDTXMania.Instance.ConfigIni.eHHGroup);\r
list項目リスト.Add(CDTXMania.Instance.ConfigIni.eFTGroup);\r
list項目リスト.Add(CDTXMania.Instance.ConfigIni.eCYGroup);\r
else if (eMenu == Eメニュー種別.KeyAssignGuitar)\r
{\r
list項目リスト.Add(ReturnToMenu.Guitar);\r
- list項目リスト.Add(PadNotifier(EPad.GtR, "R", Properties.Resources.strCfgKeyAssignGtR));\r
- list項目リスト.Add(PadNotifier(EPad.GtG, "G", Properties.Resources.strCfgKeyAssignGtG));\r
- list項目リスト.Add(PadNotifier(EPad.GtB, "B", Properties.Resources.strCfgKeyAssignGtB));\r
- list項目リスト.Add(PadNotifier(EPad.GtPick, "Pick", Properties.Resources.strCfgKeyAssignGtPick));\r
- list項目リスト.Add(PadNotifier(EPad.GtWail, "Wailing", Properties.Resources.strCfgKeyAssignGtWailing));\r
- list項目リスト.Add(PadNotifier(EPad.GtDecide, "Decide", Properties.Resources.strCfgKeyAssignGtDecide));\r
- list項目リスト.Add(PadNotifier(EPad.GtCancel, "Cancel", Properties.Resources.strCfgKeyAssignGtCancel));\r
+ list項目リスト.Add(PadNotifier(EPad.GtR, cr.Title("strCfgKeyAssignGtR"), cr.Value("strCfgKeyAssignGtR") ));\r
+ list項目リスト.Add(PadNotifier(EPad.GtG, cr.Title("strCfgKeyAssignGtG"), cr.Value("strCfgKeyAssignGtG") ));\r
+ list項目リスト.Add(PadNotifier(EPad.GtB, cr.Title("strCfgKeyAssignGtB"), cr.Value("strCfgKeyAssignGtB") ));\r
+ list項目リスト.Add(PadNotifier(EPad.GtPick, cr.Title("strCfgKeyAssignGtPick"), cr.Value("strCfgKeyAssignGtPick") ));\r
+ list項目リスト.Add(PadNotifier(EPad.GtWail, cr.Title("strCfgKeyAssignGtWailing"), cr.Value("strCfgKeyAssignGtWailing") ));\r
+ list項目リスト.Add(PadNotifier(EPad.GtDecide, cr.Title("strCfgKeyAssignGtDecide"), cr.Value("strCfgKeyAssignGtDecide") ));\r
+ list項目リスト.Add(PadNotifier(EPad.GtCancel, cr.Title("strCfgKeyAssignGtCancel"), cr.Value("strCfgKeyAssignGtCancel") ));\r
list項目リスト.Add(CDTXMania.Instance.ConfigIni.nInputAdjustTimeMs.Guitar);\r
}\r
else if (eMenu == Eメニュー種別.KeyAssignBass)\r
{\r
list項目リスト.Add(ReturnToMenu.Bass);\r
- list項目リスト.Add(PadNotifier(EPad.BsR, "R", Properties.Resources.strCfgKeyAssignBsR));\r
- list項目リスト.Add(PadNotifier(EPad.BsG, "G", Properties.Resources.strCfgKeyAssignBsG));\r
- list項目リスト.Add(PadNotifier(EPad.BsB, "B", Properties.Resources.strCfgKeyAssignBsB));\r
- list項目リスト.Add(PadNotifier(EPad.BsPick, "Pick", Properties.Resources.strCfgKeyAssignBsPick));\r
- list項目リスト.Add(PadNotifier(EPad.BsWail, "Wailing", Properties.Resources.strCfgKeyAssignBsWailing));\r
- list項目リスト.Add(PadNotifier(EPad.BsDecide, "Decide", Properties.Resources.strCfgKeyAssignBsDecide));\r
- list項目リスト.Add(PadNotifier(EPad.BsCancel, "Cancel", Properties.Resources.strCfgKeyAssignBsCancel));\r
+ list項目リスト.Add(PadNotifier(EPad.BsR, cr.Title("strCfgKeyAssignBsR"), cr.Value("strCfgKeyAssignBsR") ));\r
+ list項目リスト.Add(PadNotifier(EPad.BsG, cr.Title("strCfgKeyAssignBsG"), cr.Value("strCfgKeyAssignBsG") ));\r
+ list項目リスト.Add(PadNotifier(EPad.BsB, cr.Title("strCfgKeyAssignBsB"), cr.Value("strCfgKeyAssignBsB") ));\r
+ list項目リスト.Add(PadNotifier(EPad.BsPick, cr.Title("strCfgKeyAssignBsPick"), cr.Value("strCfgKeyAssignBsPick") ));\r
+ list項目リスト.Add(PadNotifier(EPad.BsWail, cr.Title("strCfgKeyAssignBsWailing"), cr.Value("strCfgKeyAssignBsWailing") ));\r
+ list項目リスト.Add(PadNotifier(EPad.BsDecide, cr.Title("strCfgKeyAssignBsDecide"), cr.Value("strCfgKeyAssignBsDecide") ));\r
+ list項目リスト.Add(PadNotifier(EPad.BsCancel, cr.Title("strCfgKeyAssignBsCancel"), cr.Value("strCfgKeyAssignBsCancel") ));\r
list項目リスト.Add(CDTXMania.Instance.ConfigIni.nInputAdjustTimeMs.Bass);\r
}\r
else if (eMenu == Eメニュー種別.System)\r
{\r
list項目リスト.Add(ReturnToMenu.System);\r
+ COptionStringList lang = new COptionStringList("default");\r
+ lang.Initialize(cr.Title("strCfgLanguage"), cr.Value("strCfgLanguage"), cr.LanguageList );\r
+ list項目リスト.Add( lang );\r
+\r
COptionString enumsongs = new COptionString("");\r
- enumsongs.Initialize("EnumerateSongs", Properties.Resources.strCfgSysEnumSongs);\r
+ enumsongs.Initialize( cr.Title("strCfgSysEnumSongs"), cr.Value("strCfgSysEnumSongs") );\r
list項目リスト.Add(enumsongs);\r
list項目リスト.Add(CDTXMania.Instance.ConfigIni.eDark);\r
list項目リスト.Add(CDTXMania.Instance.ConfigIni.nRisky);\r
{\r
list項目リスト.Add(ReturnToMenu.Drums);\r
COptionEnum<EThreeState> AllAuto = new COptionEnum<EThreeState>(EThreeState.X);\r
- AllAuto.Initialize("AllAuto", Properties.Resources.strCfgDrAllAuto, typeof(EThreeState));\r
+ AllAuto.Initialize( cr.Title("strCfgDrAllAuto"), cr.Value("strCfgDrAllAuto"), typeof(EThreeState));\r
AllAuto.OnEnterDelegate = () =>\r
{\r
CDTXMania.Instance.ConfigIni.bAutoPlay.Set(EPart.Drums, AllAuto);\r
{\r
list項目リスト.Add(ReturnToMenu.Guitar);\r
COptionEnum<EThreeState> AllAuto = new COptionEnum<EThreeState>(EThreeState.X);\r
- AllAuto.Initialize("AllAuto", Properties.Resources.strCfgDrAllAuto, typeof(EThreeState));\r
+ AllAuto.Initialize( cr.Title("strCfgDrAllAuto"), cr.Value("strCfgDrAllAuto"), typeof(EThreeState));\r
AllAuto.OnEnterDelegate = () =>\r
{\r
CDTXMania.Instance.ConfigIni.bAutoPlay.Set(EPart.Guitar, AllAuto);\r
{\r
list項目リスト.Add(ReturnToMenu.Bass);\r
COptionEnum<EThreeState> AllAuto = new COptionEnum<EThreeState>(EThreeState.X);\r
- AllAuto.Initialize("AllAuto", Properties.Resources.strCfgDrAllAuto, typeof(EThreeState));\r
+ AllAuto.Initialize( cr.Title("strCfgDrAllAuto"), cr.Value("strCfgDrAllAuto"), typeof(EThreeState));\r
AllAuto.OnEnterDelegate = () =>\r
{\r
CDTXMania.Instance.ConfigIni.bAutoPlay.Set(EPart.Bass, AllAuto);\r
DisplayMenu = new STDGBSValue<COptionLabel>();\r
KeyAssignMenu = new STDGBSValue<COptionLabel>();\r
ReturnToMenu = new STDGBSValue<COptionLabel>();\r
+\r
+ CResources cr = CDTXMania.Instance.Resources;\r
for (EPart i = EPart.Drums; i <= EPart.System; ++i)\r
{\r
- DisplayMenu[i] = new COptionLabel("Display Options", "");\r
- KeyAssignMenu[i] = new COptionLabel("Input Options", "");\r
- ReturnToMenu[i] = new COptionLabel("<< Return to Menu", "");\r
+ DisplayMenu[i] = new COptionLabel( cr.Title("strCfgDisplayOption"), cr.Value("strCfgDisplayOption") );\r
+ KeyAssignMenu[i] = new COptionLabel( cr.Title("strCfgInputOption"), cr.Value("strCfgInputOption") );\r
+ ReturnToMenu[i] = new COptionLabel( cr.Title("strCfgReturnToMenu"), cr.Value("strCfgReturnToMenu") );\r
}\r
\r
DisplayMenu.Drums.OnEnterDelegate = () =>\r
[DataMember( Order = 105 )]\r
// #36261 2016.4.27 yyagi WASAPI動作をevent drivenにするかどうか\r
public COptionBool bEventDrivenWASAPI;\r
- \r
+ [DataMember( Order = 105 )]\r
+ // 言語設定\r
+ public COptionStringList strLanguageList;\r
+ public COptionString strLanguage; \r
\r
[DataMember]\r
public COptionInteger nBGAlpha;\r
string[] asiodevs = CEnumerateAllAsioDevices.GetAllASIODevices();\r
strASIODevice = new COptionStringList(asiodevs.Length > 0 ? asiodevs[0] : null);\r
\r
+ strLanguage = new COptionString( "" ); // "default"でなく"" にすること。そうすることで、Locale情報を使った初期化がなされる。\r
+ strLanguageList = new COptionStringList("");\r
+\r
\r
cdInstX = new STDGBSValue<STInstValue<COptionInteger>>();\r
cdInstX.Drums = new STInstValue<COptionInteger>();\r
public void DefaultDeserializer(StreamingContext sc)\r
{\r
// ラベル・説明文・上下限値\r
- bFullScreen.Initialize("FullScreen", Properties.Resources.strCfgSysFullScreen);\r
- bVSyncWait.Initialize("VSyncWait", Properties.Resources.strCfgSysVSync);\r
- bStageFailed.Initialize("StageFailed", Properties.Resources.strCfgSysStageFailed);\r
- bFullAVI.Initialize("FullAVI", Properties.Resources.strCfgSysFullAVI);\r
- bAVI.Initialize("AVI", Properties.Resources.strCfgSysAVI);\r
- bBGA.Initialize("BGA", Properties.Resources.strCfgSysBGA);\r
- bLog.Initialize("Log", Properties.Resources.strCfgSysLog);\r
- bStoicMode.Initialize("Stoic", Properties.Resources.strCfgSysStoic);\r
- bWaveAdjust.Initialize("AdjustWaves", Properties.Resources.strCfgSysAdjustWaves);\r
- bBGMPlay.Initialize("BGM", Properties.Resources.strCfgSysBGM);\r
- bAudience.Initialize("Audience", Properties.Resources.strCfgSysAudience);\r
- bScoreIni.Initialize("SaveRecord", Properties.Resources.strCfgSysSaveScoreIni);\r
- bRandSubBox.Initialize("RandSubBox", Properties.Resources.strCfgSysRandSubBox);\r
- bAutoPlay.HH.Initialize("HiHat(Close)", Properties.Resources.strCfgDrAutoHHC);\r
- bAutoPlay.HHO.Initialize("HiHat(Open)", Properties.Resources.strCfgDrAutoHHO);\r
- bAutoPlay.SD.Initialize("Snare", Properties.Resources.strCfgDrAutoSD);\r
- bAutoPlay.BD.Initialize("Kick", Properties.Resources.strCfgDrAutoBD);\r
- bAutoPlay.HT.Initialize("HighTom", Properties.Resources.strCfgDrAutoHT);\r
- bAutoPlay.LT.Initialize("LowTom", Properties.Resources.strCfgDrAutoLT);\r
- bAutoPlay.FT.Initialize("FloorTom", Properties.Resources.strCfgDrAutoFT);\r
- bAutoPlay.CY.Initialize("Cymbal", Properties.Resources.strCfgAutoCY);\r
- bAutoPlay.RD.Initialize("RideCymbal", Properties.Resources.strCfgAutoRD);\r
- bAutoPlay.LC.Initialize("LeftCymbal", Properties.Resources.strCfgAutoLCY);\r
- bAutoPlay.GtR.Initialize("R", Properties.Resources.strCfgGtAutoR);\r
- bAutoPlay.GtG.Initialize("G", Properties.Resources.strCfgGtAutoG);\r
- bAutoPlay.GtB.Initialize("B", Properties.Resources.strCfgGtAutoB);\r
- bAutoPlay.GtPick.Initialize("Pick", Properties.Resources.strCfgGtAutoPick);\r
- bAutoPlay.GtWail.Initialize("Wailing", Properties.Resources.strCfgGtAutoWailing);\r
- bAutoPlay.BsR.Initialize("R", Properties.Resources.strCfgBsAutoR);\r
- bAutoPlay.BsG.Initialize("G", Properties.Resources.strCfgBsAutoG);\r
- bAutoPlay.BsB.Initialize("B", Properties.Resources.strCfgBsAutoB);\r
- bAutoPlay.BsPick.Initialize("Pick", Properties.Resources.strCfgBsAutoPick);\r
- bAutoPlay.BsWail.Initialize("Wailing", Properties.Resources.strCfgBsAutoWailing);\r
- bLoadSoundSpeed.Initialize("SoundLoadLimiter", Properties.Resources.strCfgSysSoundLoadLimiter);\r
- bIsAutoResultCapture.Initialize("AutoResultCapture", Properties.Resources.strCfgSysAutoResultCapture);\r
- bBufferedInput.Initialize("BufferingInput", Properties.Resources.strCfgSysBufferingInput);\r
- bUseBoxDefSkin.Initialize("UseBoxSkin", Properties.Resources.strCfgSysUseBoxDefSkin);\r
- bUseOSTimer.Initialize("UseOSTimer", Properties.Resources.strCfgSysUseOSTimer);\r
- bTimeStretch.Initialize("TimeStretch", Properties.Resources.strCfgSysTimeStretch);\r
- bForceHighPowerPlan.Initialize( "Highpeformance", Properties.Resources.strCfgSysForceHighPowerPlan );\r
- bEventDrivenWASAPI.Initialize( "WASAPI Event Driven", Properties.Resources.strCfgSysWASAPIEventDriven );\r
-\r
- bCymbalFree.Initialize("CymbalFree", Properties.Resources.strCfgDrCymbalFree);\r
- bDrumsHitSound.Initialize("DrumsChipSound", Properties.Resources.strCfgDrChipSound);\r
- bFillin.Initialize("Fillin", Properties.Resources.strCfgDrFillin);\r
- bTight.Initialize("Tight", Properties.Resources.strCfgDrTight);\r
+ CResources cr = CDTXMania.Instance.Resources;\r
+ bFullScreen.Initialize( cr.Title("strCfgSysFullScreen"), cr.Value("strCfgSysFullScreen") );\r
+ bVSyncWait.Initialize( cr.Title("strCfgSysVSync"), cr.Value("strCfgSysVSync") );\r
+ bStageFailed.Initialize( cr.Title("strCfgSysStageFailed"), cr.Value("strCfgSysStageFailed") );\r
+ bFullAVI.Initialize( cr.Title("strCfgSysFullAVI"), cr.Value("strCfgSysFullAVI") );\r
+ bAVI.Initialize( cr.Title("strCfgSysAVI"), cr.Value("strCfgSysAVI") );\r
+ bBGA.Initialize( cr.Title("strCfgSysBGA"), cr.Value("strCfgSysBGA" ) );\r
+ bLog.Initialize( cr.Title("strCfgSysLog"), cr.Value("strCfgSysLog") );\r
+ bStoicMode.Initialize( cr.Title("strCfgSysStoic"), cr.Value("strCfgSysStoic") );\r
+ bWaveAdjust.Initialize( cr.Title("strCfgSysAdjustWaves"), cr.Value("strCfgSysAdjustWaves") );\r
+ bBGMPlay.Initialize( cr.Title("strCfgSysBGM"), cr.Value("strCfgSysBGM") );\r
+ bAudience.Initialize( cr.Title("strCfgSysAudience"), cr.Value("strCfgSysAudience") );\r
+ bScoreIni.Initialize( cr.Title("strCfgSysSaveScoreIni"), cr.Value("strCfgSysSaveScoreIni") );\r
+ bRandSubBox.Initialize( cr.Title("strCfgSysRandSubBox"), cr.Value("strCfgSysRandSubBox") );\r
+ bAutoPlay.HH.Initialize( cr.Title("strCfgDrAutoHHC"), cr.Value("strCfgDrAutoHHC") );\r
+ bAutoPlay.HHO.Initialize( cr.Title("strCfgDrAutoHHO"), cr.Value("strCfgDrAutoHHO") );\r
+ bAutoPlay.SD.Initialize( cr.Title("strCfgDrAutoSD"), cr.Value("strCfgDrAutoSD") );\r
+ bAutoPlay.BD.Initialize( cr.Title("strCfgDrAutoBD"), cr.Value("strCfgDrAutoBD") );\r
+ bAutoPlay.HT.Initialize( cr.Title("strCfgDrAutoHT"), cr.Value("strCfgDrAutoHT") );\r
+ bAutoPlay.LT.Initialize( cr.Title("strCfgDrAutoLT"), cr.Value("strCfgDrAutoLT") );\r
+ bAutoPlay.FT.Initialize( cr.Title("strCfgDrAutoFT"), cr.Value("strCfgDrAutoFT") );\r
+ bAutoPlay.CY.Initialize( cr.Title("strCfgDrAutoCY"), cr.Value("strCfgDrAutoCY") );\r
+ bAutoPlay.RD.Initialize( cr.Title("strCfgDrAutoRD"), cr.Value("strCfgDrAutoRD") );\r
+ bAutoPlay.LC.Initialize( cr.Title("strCfgDrAutoLCY"), cr.Value("strCfgDrAutoLCY") );\r
+ bAutoPlay.GtR.Initialize( cr.Title( "strCfgGtAutoR" ), cr.Value( "strCfgGtAutoR" ) );\r
+ bAutoPlay.GtG.Initialize( cr.Title( "strCfgGtAutoG" ), cr.Value( "strCfgGtAutoG" ) );\r
+ bAutoPlay.GtB.Initialize( cr.Title( "strCfgGtAutoB" ), cr.Value( "strCfgGtAutoB" ) );\r
+ bAutoPlay.GtPick.Initialize( cr.Title( "strCfgGtAutoPick" ), cr.Value( "strCfgGtAutoPick" ) );\r
+ bAutoPlay.GtWail.Initialize( cr.Title( "strCfgGtAutoWailing" ), cr.Value( "strCfgGtAutoWailing" ) );\r
+ bAutoPlay.BsR.Initialize( cr.Title( "strCfgBsAutoR" ), cr.Value( "strCfgBsAutoR" ) );\r
+ bAutoPlay.BsG.Initialize( cr.Title( "strCfgBsAutoG" ), cr.Value( "strCfgBsAutoG" ) );\r
+ bAutoPlay.BsB.Initialize( cr.Title( "strCfgBsAutoB" ), cr.Value( "strCfgBsAutoB" ) );\r
+ bAutoPlay.BsPick.Initialize( cr.Title( "strCfgBsAutoPick" ), cr.Value( "strCfgBsAutoPick" ) );\r
+ bAutoPlay.BsWail.Initialize( cr.Title( "strCfgBsAutoWailing" ), cr.Value( "strCfgBsAutoWailing" ) );\r
+\r
+ bLoadSoundSpeed.Initialize( cr.Title("strCfgSysSoundLoadLimiter"), cr.Value("strCfgSysSoundLoadLimiter") );\r
+ bIsAutoResultCapture.Initialize( cr.Title("strCfgSysAutoResultCapture"), cr.Value("strCfgSysAutoResultCapture") );\r
+ bBufferedInput.Initialize( cr.Title("strCfgSysBufferingInput"), cr.Value("strCfgSysBufferingInput") );\r
+ bUseBoxDefSkin.Initialize( cr.Title("strCfgSysUseBoxDefSkin"), cr.Value("strCfgSysUseBoxDefSkin") );\r
+ bUseOSTimer.Initialize( cr.Title("strCfgSysUseOSTimer"), cr.Value("strCfgSysUseOSTimer") );\r
+ bTimeStretch.Initialize( cr.Title("strCfgSysTimeStretch"), cr.Value("strCfgSysTimeStretch") );\r
+ bForceHighPowerPlan.Initialize( cr.Title("strCfgSysForceHighPowerPlan"), cr.Value("strCfgSysForceHighPowerPlan") );\r
+ bEventDrivenWASAPI.Initialize( cr.Title("strCfgSysWASAPIEventDriven"), cr.Value("strCfgSysWASAPIEventDriven") );\r
+\r
+ bCymbalFree.Initialize( cr.Title("strCfgDrCymbalFree"), cr.Value("strCfgDrCymbalFree") );\r
+ bDrumsHitSound.Initialize( cr.Title("strCfgDrChipSound"), cr.Value("strCfgDrChipSound") );\r
+ bFillin.Initialize( cr.Title("strCfgDrFillin"), cr.Value("strCfgDrFillin") );\r
+ bTight.Initialize( cr.Title("strCfgDrTight"), cr.Value("strCfgDrTight") );\r
\r
bItalicFontSongSelect.Initialize("", "");\r
bBoldFontSongSelect.Initialize("", "");\r
bIsAllowedDoubleClickFullscreen.Initialize("", "");\r
bIsEnabledSystemMenu.Initialize("", "");\r
bDynamicBassMixerManagement.Initialize("", "");\r
- bDebugInfo.Initialize("DebugInfo", Properties.Resources.strCfgSysDebugInfo);\r
+ bDebugInfo.Initialize( cr.Title("strCfgSysDebugInfo"), cr.Value("strCfgSysDebugInfo") );\r
\r
// enum\r
- nSoundDeviceType.Initialize("SoundDevice", Properties.Resources.strCfgSysSoundDeviceType, typeof(ESoundDeviceTypeForConfig));\r
- eDamageLevel.Initialize("DamageLevel", Properties.Resources.strCfgSysDamageLevel, typeof(EDamage));\r
- eJudgePriority.Initialize("JudgePriority", Properties.Resources.strCfgSysJudgePriority, typeof(EJudgeDisplayPriority));\r
- eCYGroup.Initialize("CY Grouping", Properties.Resources.strCfgDrCYGroup, typeof(ECYGroup));\r
- eDark.Initialize("Dark", Properties.Resources.strCfgSysDark, typeof(EDark));\r
- eFTGroup.Initialize("FT Grouping", Properties.Resources.strCfgDrFTGroup, typeof(EFTGroup));\r
- eHHGroup.Initialize("HH Grouping", Properties.Resources.strCfgDrHHGroup, typeof(EHHGroup));\r
- eBDGroup.Initialize("BD Grouping", Properties.Resources.strCfgDrBDGroup, typeof(EBDGroup));\r
+ nSoundDeviceType.Initialize( cr.Title("strCfgSysSoundDeviceType"), cr.Value("strCfgSysSoundDeviceType"), typeof(ESoundDeviceTypeForConfig));\r
+ eDamageLevel.Initialize( cr.Title("strCfgSysDamageLevel"), cr.Value("strCfgSysDamageLevel"), typeof(EDamage));\r
+ eJudgePriority.Initialize( cr.Title("strCfgSysJudgePriority"), cr.Value("strCfgSysJudgePriority"), typeof(EJudgeDisplayPriority));\r
+ eCYGroup.Initialize( cr.Title("strCfgDrCYGroup"), cr.Value("strCfgDrCYGroup"), typeof(ECYGroup));\r
+ eDark.Initialize( cr.Title("strCfgSysDark"), cr.Value("strCfgSysDark"), typeof(EDark));\r
+ eFTGroup.Initialize( cr.Title("strCfgDrFTGroup"), cr.Value("strCfgDrFTGroup"), typeof(EFTGroup));\r
+ eHHGroup.Initialize( cr.Title("strCfgDrHHGroup"), cr.Value("strCfgDrHHGroup"), typeof(EHHGroup));\r
+ eBDGroup.Initialize( cr.Title("strCfgDrBDGroup"), cr.Value("strCfgDrBDGroup"), typeof(EBDGroup));\r
Backup1BDHHGroup.Initialize("", "", typeof(EHHGroup));\r
Backup1BDPriotiry.Initialize("", "", typeof(EHitSoundPriority));\r
- eHitSoundPriorityCY.Initialize("CY Priority", Properties.Resources.strCfgDrCYPriority, typeof(EHitSoundPriority));\r
- eHitSoundPriorityFT.Initialize("FT Priority", Properties.Resources.strCfgDrFTPriority, typeof(EHitSoundPriority));\r
- eHitSoundPriorityHH.Initialize("HH Priority", Properties.Resources.strCfgDrHHPriority, typeof(EHitSoundPriority));\r
+ eHitSoundPriorityCY.Initialize( cr.Title("strCfgDrCYPriority"), cr.Value("strCfgDrCYPriority"), typeof(EHitSoundPriority));\r
+ eHitSoundPriorityFT.Initialize( cr.Title("strCfgDrFTPriority"), cr.Value("strCfgDrFTPriority"), typeof(EHitSoundPriority));\r
+ eHitSoundPriorityHH.Initialize( cr.Title("strCfgDrHHPriority"), cr.Value("strCfgDrHHPriority"), typeof(EHitSoundPriority));\r
// eJudgePriority.Initialize("Judge Priority", Properties.Resources.strCfgSysJudgePriority, typeof(EJudgeDisplayPriority));\r
- eActiveInst.Initialize("PlayMode", Properties.Resources.strCfgSysPlayMode, typeof(EActiveInstrument));\r
- nShowLagType.Initialize("ShowLagType", Properties.Resources.strCfgSysShowLagType, typeof(EShowLagType));\r
+ eActiveInst.Initialize( cr.Title("strCfgSysPlayMode"), cr.Value("strCfgSysPlayMode"), typeof(EActiveInstrument));\r
+ nShowLagType.Initialize( cr.Title("strCfgSysShowLagType"), cr.Value("strCfgSysShowLagType"), typeof(EShowLagType));\r
\r
// integer\r
nSleepPerFrameMs.Initialize("", "");\r
nSleepUnfocusMs.Initialize("", "");\r
- nBGAlpha.Initialize("BGAlpha", Properties.Resources.strCfgSysBGAAlpha, 0, 255);\r
- nPreSoundWeightMs.Initialize("PreSoundWait", Properties.Resources.strCfgSysPreSoundWait, 0, 10001);\r
- nPreImageWeightMs.Initialize("PreImageWait", Properties.Resources.strCfgSysPreImageWait, 0, 10001);\r
+ nBGAlpha.Initialize( cr.Title("strCfgSysBGAAlpha"), cr.Value("strCfgSysBGAAlpha"), 0, 255);\r
+ nPreSoundWeightMs.Initialize( cr.Title("strCfgSysPreSoundWait"), cr.Value("strCfgSysPreSoundWait"), 0, 10001);\r
+ nPreImageWeightMs.Initialize( cr.Title("strCfgSysPreImageWait"), cr.Value("strCfgSysPreImageWait"), 0, 10001);\r
nFontSizeDotSongSelect.Initialize("", "", 5);\r
- nAutoVolume.Initialize("AutoVolume", Properties.Resources.strCfgSysAutoVolume, 0, 101);\r
- nChipVolume.Initialize("ChipVolume", Properties.Resources.strCfgSysChipVolume, 0, 101);\r
- nPlaySpeed.Initialize("PlaySpeed", Properties.Resources.strCfgSysPlaySpeed, 5, 41);\r
+ nAutoVolume.Initialize( cr.Title("strCfgSysAutoVolume"), cr.Value("strCfgSysAutoVolume"), 0, 101);\r
+ nChipVolume.Initialize( cr.Title("strCfgSysChipVolume"), cr.Value("strCfgSysChipVolume"), 0, 101);\r
+ nPlaySpeed.Initialize( cr.Title("strCfgSysPlaySpeed"), cr.Value("strCfgSysPlaySpeed"), 5, 41);\r
nPlaySpeed.ValueFormatter = (x) =>\r
{\r
return "x" + (x / 20f).ToString("0.000");\r
nVelocityMin.FT.Initialize("", "", 0, 128);\r
nVelocityMin.CY.Initialize("", "", 0, 128);\r
nVelocityMin.RD.Initialize("", "", 0, 128);\r
- nRisky.Initialize("Risky", Properties.Resources.strCfgSysRisky, 0, 31);\r
- nWASAPIBufferSizeMs.Initialize("WASAPIBufSize", Properties.Resources.strCfgSysWASAPIBufSize, 0, 100001);\r
+ nRisky.Initialize( cr.Title("strCfgSysRisky"), cr.Value("strCfgSysRisky"), 0, 31);\r
+ nWASAPIBufferSizeMs.Initialize( cr.Title("strCfgSysWASAPIBufSize"), cr.Value("strCfgSysWASAPIBufSize"), 0, 100001);\r
nChipDisplayTimeMs.Initialize("", "", 0);\r
nChipFadeoutTimeMs.Initialize("", "", 0);\r
\r
- nMasterVolume.Initialize("MasterVolume", Properties.Resources.strCfgSysMasterVolume, 0, 101);\r
+ nMasterVolume.Initialize( cr.Title("strCfgSysMasterVolume"), cr.Value("strCfgSysMasterVolume"), 0, 101);\r
nPoliphonicSounds.Initialize("", "", 1, 11);\r
\r
// dgb\r
for (EPart i = EPart.Drums; i <= EPart.Unknown; i++)\r
{\r
- bEmphasizePlaySound[i].Initialize("ChipSoundMonitor", Properties.Resources.strCfgDgbChipSoundMonitor);\r
- bReverse[i].Initialize("Reverse", Properties.Resources.strCfgDgbReverse);\r
- eRandom[i].Initialize("Random", Properties.Resources.strCfgDgbRandom, typeof(ERandom));\r
- bLight[i].Initialize("Light", Properties.Resources.strCfgDgbLight);\r
- bDisplayCombo[i].Initialize("DisplayCombo", Properties.Resources.strCfgDgbDisplayCombo);\r
- bDisplayJudge[i].Initialize("DisplayJudge", Properties.Resources.strCfgDgbDisplayJudge);\r
- bGraph[i].Initialize("Graph", Properties.Resources.strCfgDgbDisplayGraph);\r
- nScrollSpeed[i].Initialize("ScrollSpeed", Properties.Resources.strCfgDgbScrollSpeed, 1, 101);\r
+ bEmphasizePlaySound[i].Initialize( cr.Title("strCfgDgbChipSoundMonitor"), cr.Value("strCfgDgbChipSoundMonitor") );\r
+ bReverse[i].Initialize( cr.Title("strCfgDgbReverse"), cr.Value("strCfgDgbReverse") );\r
+ eRandom[i].Initialize( cr.Title("strCfgDgbRandom"), cr.Value("strCfgDgbRandom"), typeof(ERandom));\r
+ bLight[i].Initialize( cr.Title("strCfgDgbLight"), cr.Value("strCfgDgbLight") );\r
+ bDisplayCombo[i].Initialize( cr.Title("strCfgDgbDisplayCombo"), cr.Value("strCfgDgbDisplayCombo") );\r
+ bDisplayJudge[i].Initialize( cr.Title("strCfgDgbDisplayJudge"), cr.Value("strCfgDgbDisplayJudge") );\r
+ bGraph[i].Initialize( cr.Title("strCfgDgbDisplayGraph"), cr.Value("strCfgDgbDisplayGraph") );\r
+ nScrollSpeed[i].Initialize( cr.Title("strCfgDgbScrollSpeed"), cr.Value("strCfgDgbScrollSpeed"), 1, 101);\r
nScrollSpeed[i].ValueFormatter = (x) =>\r
{\r
return "x" + (x * 0.5f).ToString("0.0");\r
};\r
- nInputAdjustTimeMs[i].Initialize("InputAdjust", Properties.Resources.strCfgDgbInputAdjust, -99, 100);\r
+ nInputAdjustTimeMs[i].Initialize( cr.Title("strCfgDgbInputAdjust"), cr.Value("strCfgDgbInputAdjust"), -99, 100);\r
nJudgeLinePosOffset[i].Initialize("", "", -SampleFramework.GameWindowSize.Height, SampleFramework.GameWindowSize.Height + 1);\r
nViewerScrollSpeed[i].Initialize("", "", 1, 101);\r
- nMinComboDisp[i].Initialize("MinComboDisp", Properties.Resources.strCfgDgbMinComboDisp, 2, 100001);\r
- nSuddenFrom[i].Initialize("SudFrom", Properties.Resources.strCfgDgbSuddenFrom, 0, SampleFramework.GameWindowSize.Height + 1);\r
- nHiddenFrom[i].Initialize("HidFrom", Properties.Resources.strCfgDgbHiddenFrom, 0, SampleFramework.GameWindowSize.Height + 1);\r
- eAutoGhost[i].Initialize("AutoGhost", Properties.Resources.strCfgDgbAutoGhost, typeof(EAutoGhostData));\r
- eTargetGhost[i].Initialize("TargetGhost", Properties.Resources.strCfgDgbTargetGhost, typeof(ETargetGhostData));\r
- eSudHidInv[i].Initialize("SudHidInv", Properties.Resources.strCfgDgbSudHidInv, typeof(ESudHidInv));\r
+ nMinComboDisp[i].Initialize( cr.Title("strCfgDgbMinComboDisp"), cr.Value("strCfgDgbMinComboDisp"), 2, 100001);\r
+ nSuddenFrom[i].Initialize( cr.Title("strCfgDgbSuddenFrom"), cr.Value("strCfgDgbSuddenFrom"), 0, SampleFramework.GameWindowSize.Height + 1);\r
+ nHiddenFrom[i].Initialize( cr.Title("strCfgDgbHiddenFrom"), cr.Value("strCfgDgbHiddenFrom"), 0, SampleFramework.GameWindowSize.Height + 1);\r
+ eAutoGhost[i].Initialize( cr.Title("strCfgDgbAutoGhost"), cr.Value("strCfgDgbAutoGhost"), typeof(EAutoGhostData));\r
+ eTargetGhost[i].Initialize( cr.Title("strCfgDgbTargetGhost"), cr.Value("strCfgDgbTargetGhost"), typeof(ETargetGhostData));\r
+ eSudHidInv[i].Initialize( cr.Title("strCfgDgbSudHidInv"), cr.Value("strCfgDgbSudHidInv"), typeof(ESudHidInv));\r
\r
fJudgeLinePosOffsetBase[i].Initialize("", "");\r
}\r
\r
string[] asiodevs = CEnumerateAllAsioDevices.GetAllASIODevices();\r
- strASIODevice.Initialize("ASIODevice", Properties.Resources.strCfgSysASIODevice, asiodevs);\r
+ strASIODevice.Initialize( cr.Title("strCfgSysASIODevice"), cr.Value("strCfgSysASIODevice"), asiodevs);\r
\r
int crdStep = 10;\r
cdInstX.Drums.Both.Initialize("DrumsX(Both)", Properties.Resources.strCfgDispDrumsXBoth, 0, 1 + SampleFramework.GameWindowSize.Width, crdStep);\r
\r
public override string ToString()\r
{\r
- return val ? "On" : "Off";\r
+ CResources cr = CDTXMania.Instance.Resources;\r
+ return val ? cr.Title("strCfgOn") : cr.Title("strCfgOff");\r
}\r
\r
public void Initialize(string lbl, string expl)\r
this.txMenuカーソル = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenConfig menu cursor.png"), false);\r
\r
prvFont = new CPrivateFastFont(CSkin.Path(@"Graphics\fonts\mplus-1p-heavy.ttf"), (int)(18 * Scale.Y));\r
- string[] strMenuItem = { "System", "Drums", "Guitar", "Bass", "Exit" };\r
+ string[] strMenuItem = { \r
+ "strCfgSysMenuItem",\r
+ "strCfgDrMenuItem",\r
+ "strCfgGtMenuItem",\r
+ "strCfgBsMenuItem",\r
+ "strCfgExitMenuItem"\r
+ };\r
txMenuItemLeft = new CTexture[strMenuItem.Length, 2];\r
for (int i = 0; i < strMenuItem.Length; i++)\r
{\r
Bitmap bmpStr;\r
- bmpStr = prvFont.DrawPrivateFont(strMenuItem[i], Color.White, Color.Black);\r
+ string s = CDTXMania.Instance.Resources.Title( strMenuItem[ i ] );\r
+ bmpStr = prvFont.DrawPrivateFont(s, Color.White, Color.Black);\r
txMenuItemLeft[i, 0] = TextureFactory.tテクスチャの生成(bmpStr, false);\r
bmpStr.Dispose();\r
- bmpStr = prvFont.DrawPrivateFont(strMenuItem[i], Color.White, Color.Black, Color.Yellow, Color.OrangeRed);\r
+ bmpStr = prvFont.DrawPrivateFont(s, Color.White, Color.Black, Color.Yellow, Color.OrangeRed);\r
txMenuItemLeft[i, 1] = TextureFactory.tテクスチャの生成(bmpStr, false);\r
bmpStr.Dispose();\r
}\r
{\r
graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;\r
\r
- string[,] str = new string[2, 2];\r
- switch (this.n現在のメニュー番号)\r
- {\r
- case 0:\r
- str[0, 0] = "システムに関係する項目を設定します。";\r
- str[0, 1] = "";\r
- str[1, 0] = "Settings for an overall systems.";\r
- break;\r
-\r
- //case 1:\r
- // str[0, 0] = "ドラムのキー入力に関する項目を設";\r
- // str[0, 1] = "定します。";\r
- // str[1, 0] = "Settings for the drums key/pad inputs.";\r
- // str[1, 1] = "";\r
- // break;\r
-\r
- //case 2:\r
- // str[0, 0] = "ギターのキー入力に関する項目を設";\r
- // str[0, 1] = "定します。";\r
- // str[1, 0] = "Settings for the guitar key/pad inputs.";\r
- // str[1, 1] = "";\r
- // break;\r
-\r
- //case 3:\r
- // str[0, 0] = "ベースのキー入力に関する項目を設";\r
- // str[0, 1] = "定します。";\r
- // str[1, 0] = "Settings for the bass key/pad inputs.";\r
- // str[1, 1] = "";\r
- // break;\r
- case 1:\r
- str[0, 0] = "ドラムの演奏に関する項目を設定します。";\r
- str[0, 1] = "";\r
- str[1, 0] = "Settings to play the drums.";\r
- str[1, 1] = "";\r
- break;\r
-\r
- case 2:\r
- str[0, 0] = "ギターの演奏に関する項目を設定します。";\r
- str[0, 1] = "";\r
- str[1, 0] = "Settings to play the guitar.";\r
- str[1, 1] = "";\r
- break;\r
-\r
- case 3:\r
- str[0, 0] = "ベースの演奏に関する項目を設定します。";\r
- str[0, 1] = "";\r
- str[1, 0] = "Settings to play the bass.";\r
- str[1, 1] = "";\r
- break;\r
-\r
- case 4:\r
- str[0, 0] = "設定を保存し、コンフィグ画面を終了します。";\r
- str[0, 1] = "";\r
- str[1, 0] = "Save the settings and exit from\nCONFIGURATION menu.";\r
- str[1, 1] = "";\r
- break;\r
- }\r
-\r
- int c = (CultureInfo.CurrentCulture.TwoLetterISOLanguageName == "ja") ? 0 : 1;\r
- for (int i = 0; i < 2; i++)\r
- {\r
- graphics.DrawString(str[c, i], this.ftフォント, Brushes.White, new PointF(4f * Scale.X, (i * 30) * Scale.Y));\r
- }\r
+ string[] desc = {\r
+ "strCfgSysMenuDesc",\r
+ "strCfgDrMenuDesc",\r
+ "strCfgGtMenuDesc",\r
+ "strCfgBsMenuDesc",\r
+ "strCfgExitMenuDesc"\r
+ };\r
+ string str = CDTXMania.Instance.Resources.Value( desc[ this.n現在のメニュー番号 ] );\r
+\r
+ //int c = (CultureInfo.CurrentCulture.TwoLetterISOLanguageName == "ja") ? 0 : 1;\r
+ graphics.DrawString(str, this.ftフォント, Brushes.White, new PointF(4f * Scale.X, 0));\r
}\r
if (this.tx説明文パネル != null)\r
{\r
public C文字コンソール act文字コンソール { get; private set; }\r
public bool bコンパクトモード { get; private set; }\r
public CConfigXml ConfigIni;\r
+ public CResources Resources;\r
\r
public CDTX DTX\r
{\r
// END #23629 2010.11.13 from\r
#endregion\r
\r
+ #region [ 言語リソースの初期化 ]\r
+ Trace.TraceInformation( "言語リソースの初期化を行います。" );\r
+ Trace.Indent();\r
+ try\r
+ {\r
+ Resources = new CResources();\r
+ Resources.LoadResources( "" );\r
+ Trace.TraceInformation( "言語リソースの初期化を完了しました。" );\r
+ }\r
+ finally\r
+ {\r
+ Trace.Unindent();\r
+ }\r
+ #endregion\r
\r
#region [ Config.ini の読込み ]\r
ConfigIni = new CConfigXml();\r
// 2012.8.22 Config.iniが無いときに初期値が適用されるよう、この設定行をifブロック外に移動\r
#endregion\r
\r
+\r
#region[座標値読み込み]\r
Coordinates = new Coordinates.CCoordinates();\r
#endregion\r
Trace.TraceInformation("ProcessorCount: " + Environment.ProcessorCount.ToString());\r
Trace.TraceInformation("CLR Version: " + Environment.Version.ToString());\r
#endregion\r
+\r
+ #region [ 言語の設定 ]\r
+ Debug.WriteLine( "language=" + Resources.Language );\r
+ Debug.WriteLine( "settings=" + instance.ConfigIni.strLanguage );\r
+ Resources.Language = instance.ConfigIni.strLanguage;\r
+ Trace.TraceInformation( "言語を{0}に設定しました。", Resources.Language );\r
+\r
+ #endregion\r
+\r
+ \r
#region [ DTXVmodeクラス の初期化 ]\r
//Trace.TraceInformation( "DTXVモードの初期化を行います。" );\r
//Trace.Indent();\r
}\r
#endregion\r
\r
+\r
Trace.TraceInformation("アプリケーションの初期化を完了しました。");\r
\r
#region [ 最初のステージの起動 ]\r
if (this.listプラグイン.Count > 0)\r
Trace.TraceInformation(this.listプラグイン.Count + " 個のプラグインを読み込みました。");\r
}\r
- #region [ Windowイベント処理 ]\r
\r
private System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)\r
{\r
this.t指定フォルダ内でのプラグイン検索と生成(dir + "\\", strプラグイン型名);\r
}\r
//-----------------\r
- private void Window_ApplicationActivated(object sender, EventArgs e)\r
+ #region [ Windowイベント処理 ]\r
+ private void Window_ApplicationActivated( object sender, EventArgs e )\r
{\r
this.bApplicationActive = true;\r
}\r
Debug.Assert( Bass.BASS_SetConfig( BASSConfig.BASS_CONFIG_UPDATEPERIOD, 0 ), // 0:BASSストリームの自動更新を行わない。(BASSWASAPIから行うため)\r
string.Format( "BASS_SetConfig() に失敗しました。[{0}", Bass.BASS_ErrorGetCode() ) );\r
\r
+ #region [ デバッグ用: BASSデバイスのenumerateと、ログ出力 ]\r
+ //Trace.TraceInformation( "BASSデバイス一覧:" );\r
+ //int defDevice = -1;\r
+ //BASS_DEVICEINFO bdi;\r
+ //for ( int n = 0; ( bdi = Bass.BASS_GetDeviceInfo( n ) ) != null; n++ )\r
+ //{\r
+ // Trace.TraceInformation( "BASS Device #{0}: {1}: IsDefault={2}, flags={3}, type={4}",\r
+ // n,\r
+ // bdi.name,\r
+ // bdi.IsDefault, bdi.flags.ToString(), bdi.type,ToString()\r
+ // );\r
+\r
+ // //if ( bdi.IsDefault )\r
+ // //{\r
+ // // defDevice = n;\r
+ // // break;\r
+ // //}\r
+ //}\r
+ #endregion\r
\r
// BASS の初期化。\r
\r
int nデバイス = 0; // 0:"no device" … BASS からはデバイスへアクセスさせない。アクセスは BASSWASAPI アドオンから行う。\r
int n周波数 = 44100; // 仮決め。lデバイス(≠ドライバ)がネイティブに対応している周波数であれば何でもいい?ようだ。BASSWASAPIでデバイスの周波数は変えられる。いずれにしろBASSMXで自動的にリサンプリングされる。\r
- if( !Bass.BASS_Init( nデバイス, n周波数, BASSInit.BASS_DEVICE_DEFAULT, IntPtr.Zero ) )\r
- throw new Exception( string.Format( "BASS (WASAPI) の初期化に失敗しました。(BASS_Init)[{0}]", Bass.BASS_ErrorGetCode().ToString() ) );\r
+ // BASS_Initは、WASAPI初期化の直前に行うよう変更。WASAPIのmix周波数を使って初期化することで、余計なリサンプリング処理を省き高速化するため。\r
+ //if( !Bass.BASS_Init( nデバイス, n周波数, BASSInit.BASS_DEVICE_DEFAULT, IntPtr.Zero ) )\r
+ // throw new Exception( string.Format( "BASS (WASAPI) の初期化に失敗しました。(BASS_Init)[{0}]", Bass.BASS_ErrorGetCode().ToString() ) );\r
+\r
\r
#region [ デバッグ用: WASAPIデバイスのenumerateと、ログ出力 ]\r
// (デバッグ用)\r
//BASS_WASAPI_DEVICEINFO wasapiDevInfo;\r
//for ( a = 0; ( wasapiDevInfo = BassWasapi.BASS_WASAPI_GetDeviceInfo( a ) ) != null; a++ )\r
//{\r
- // if ( ( wasapiDevInfo.flags & BASSWASAPIDeviceInfo.BASS_DEVICE_INPUT ) == 0 // device is an output device (not input)\r
- // && ( wasapiDevInfo.flags & BASSWASAPIDeviceInfo.BASS_DEVICE_ENABLED ) != 0 ) // and it is enabled\r
- // {\r
- // Trace.TraceInformation( "WASAPI Device #{0}: {1}", a, wasapiDevInfo.name );\r
- // count++; // count it\r
- // }\r
+ // if ( ( wasapiDevInfo.flags & BASSWASAPIDeviceInfo.BASS_DEVICE_INPUT ) == 0 // device is an output device (not input)\r
+ // && ( wasapiDevInfo.flags & BASSWASAPIDeviceInfo.BASS_DEVICE_ENABLED ) != 0 ) // and it is enabled\r
+ // {\r
+ // Trace.TraceInformation( "WASAPI Device #{0}: {1}: IsDefault={2}, defPeriod={3}s, minperiod={4}s, mixchans={5}, mixfreq={6}",\r
+ // a,\r
+ // wasapiDevInfo.name,\r
+ // wasapiDevInfo.IsDefault, wasapiDevInfo.defperiod, wasapiDevInfo.minperiod, wasapiDevInfo.mixchans, wasapiDevInfo.mixfreq );\r
+ // count++; // count it\r
+ // }\r
//}\r
#endregion\r
\r
}\r
if ( nDevNo != -1 )\r
{\r
+ if ( !Bass.BASS_Init( nデバイス, deviceInfo.mixfreq, BASSInit.BASS_DEVICE_DEFAULT, IntPtr.Zero ) )\r
+ throw new Exception( string.Format( "BASS (WASAPI) の初期化に失敗しました。(BASS_Init)[{0}]", Bass.BASS_ErrorGetCode().ToString() ) );\r
+\r
+\r
// Trace.TraceInformation( "Selected Default WASAPI Device: {0}", deviceInfo.name );\r
// Trace.TraceInformation( "MinPeriod={0}, DefaultPeriod={1}", deviceInfo.minperiod, deviceInfo.defperiod );\r
n更新間隔ms = (long) ( deviceInfo.minperiod * 1000 );\r
}\r
\r
\r
+\r
// WASAPI出力と同じフォーマットを持つ BASS ミキサーを作成。\r
\r
+ //Debug.Assert( Bass.BASS_SetConfig( BASSConfig.BASS_CONFIG_MIXER_BUFFER, 5 ), // バッファ量を最大量の5にする\r
+ // string.Format( "BASS_SetConfig(CONFIG_MIXER_BUFFER) に失敗しました。[{0}", Bass.BASS_ErrorGetCode() ) );\r
+\r
var info = BassWasapi.BASS_WASAPI_GetInfo();\r
this.hMixer = BassMix.BASS_Mixer_StreamCreate(\r
info.freq,\r
info.chans,\r
- BASSFlag.BASS_MIXER_NONSTOP | BASSFlag.BASS_SAMPLE_FLOAT | BASSFlag.BASS_STREAM_DECODE ); // デコードのみ=発声しない。WASAPIに出力されるだけ。\r
+ BASSFlag.BASS_MIXER_NONSTOP | BASSFlag.BASS_SAMPLE_FLOAT | BASSFlag.BASS_STREAM_DECODE | BASSFlag.BASS_MIXER_POSEX ); // デコードのみ=発声しない。WASAPIに出力されるだけ。\r
if ( this.hMixer == 0 )\r
{\r
BASSError errcode = Bass.BASS_ErrorGetCode();\r
this.hMixer_DeviceOut = BassMix.BASS_Mixer_StreamCreate(\r
info.freq,\r
info.chans,\r
- BASSFlag.BASS_MIXER_NONSTOP | BASSFlag.BASS_SAMPLE_FLOAT | BASSFlag.BASS_STREAM_DECODE ); // デコードのみ=発声しない。WASAPIに出力されるだけ。\r
+ BASSFlag.BASS_MIXER_NONSTOP | BASSFlag.BASS_SAMPLE_FLOAT | BASSFlag.BASS_STREAM_DECODE | BASSFlag.BASS_MIXER_POSEX ); // デコードのみ=発声しない。WASAPIに出力されるだけ。\r
if ( this.hMixer_DeviceOut == 0 )\r
{\r
BASSError errcode = Bass.BASS_ErrorGetCode();\r