diff --git a/.editorconfig b/.editorconfig index 775f9bb..046874f 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,19 +1,46 @@ -root = true +root = true [*] end_of_line = lf insert_final_newline = true -charset=utf-8 -trim_trailing_whitespace=true - -[*.{cs,xaml}] -indent_style=space -indent_size=4 +charset = utf-8 +trim_trailing_whitespace = true +indent_style = space [*.{manifest,csproj,sln}] -indent_style=space -indent_size=4 +indent_size = 4 [*.yml] -indent_style=space -indent_size=2 +indent_size = 2 + +# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference + +[*.cs,*.vb] +indent_size = 4 +dotnet_style_qualification_for_field = false:suggestion +dotnet_style_qualification_for_property = false:suggestion +dotnet_style_qualification_for_method = false:suggestion +dotnet_style_qualification_for_event = false:suggestion +dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion +dotnet_style_predefined_type_for_member_access = true:suggestion +dotnet_style_object_initializer = true:suggestion +dotnet_style_collection_initializer = true:suggestion +dotnet_style_explicit_tuple_names = true:suggestion +dotnet_style_coalesce_expression = true:suggestion +dotnet_style_null_propagation = true:suggestion + +[*.cs] +csharp_style_var_for_built_in_types = true:suggestion +csharp_style_var_when_type_is_apparent = true:suggestion +csharp_style_var_elsewhere = true:suggestion +csharp_style_expression_bodied_methods = false:none +csharp_style_expression_bodied_constructors = false:none +csharp_style_expression_bodied_operators = false:none +csharp_style_expression_bodied_properties = false:none +csharp_style_expression_bodied_indexers = false:none +csharp_style_expression_bodied_accessors = false:none +csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion +csharp_style_pattern_matching_over_as_with_null_check = true:suggestion +csharp_style_inlined_variable_declaration = true:suggestion +csharp_style_throw_expression = true:suggestion +csharp_style_conditional_delegate_call = false:suggestion diff --git a/DereTore.sln b/DereTore.sln index ed6203d..36ceaa0 100644 --- a/DereTore.sln +++ b/DereTore.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 14 -VisualStudioVersion = 14.0.25420.1 +# Visual Studio 15 +VisualStudioVersion = 15.0.26228.9 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{9203B750-3E22-4048-A379-2147B3C9C7BF}" ProjectSection(SolutionItems) = preProject @@ -11,9 +11,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{9203B750-3 CONTRIBUTING.md = CONTRIBUTING.md CONTRIBUTORS.md = CONTRIBUTORS.md LICENSE.md = LICENSE.md - Notes.md = Notes.md README.md = README.md - TODO.md = TODO.md EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Common", "Common", "{E0D80C7F-D908-48D3-8E0B-E9E4CDDAEC40}" @@ -70,186 +68,239 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DereTore.Apps.MusicToolchai EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DereTore.Apps.ScoreViewer", "Apps\ScoreViewer\DereTore.Apps.ScoreViewer.csproj", "{31E86FB4-68DE-4DD6-8F03-D8E2DAAE07FA}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docs", "docs", "{6FE6FC74-EAB2-493C-893B-6650E1DA105B}" + ProjectSection(SolutionItems) = preProject + docs\Notes.md = docs\Notes.md + docs\Projects.md = docs\Projects.md + docs\TODO.md = docs\TODO.md + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU Debug|x64 = Debug|x64 Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU Release|x64 = Release|x64 Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {DBD0DA4A-0057-4D04-AD69-0E7267D72793}.Debug|Any CPU.ActiveCfg = Debug|x86 {DBD0DA4A-0057-4D04-AD69-0E7267D72793}.Debug|x64.ActiveCfg = Debug|x64 {DBD0DA4A-0057-4D04-AD69-0E7267D72793}.Debug|x64.Build.0 = Debug|x64 {DBD0DA4A-0057-4D04-AD69-0E7267D72793}.Debug|x86.ActiveCfg = Debug|x86 {DBD0DA4A-0057-4D04-AD69-0E7267D72793}.Debug|x86.Build.0 = Debug|x86 + {DBD0DA4A-0057-4D04-AD69-0E7267D72793}.Release|Any CPU.ActiveCfg = Release|x86 {DBD0DA4A-0057-4D04-AD69-0E7267D72793}.Release|x64.ActiveCfg = Release|x64 {DBD0DA4A-0057-4D04-AD69-0E7267D72793}.Release|x64.Build.0 = Release|x64 {DBD0DA4A-0057-4D04-AD69-0E7267D72793}.Release|x86.ActiveCfg = Release|x86 {DBD0DA4A-0057-4D04-AD69-0E7267D72793}.Release|x86.Build.0 = Release|x86 + {ABD7F1B5-C4E3-4200-8E44-98B183DFEE2C}.Debug|Any CPU.ActiveCfg = Debug|x86 {ABD7F1B5-C4E3-4200-8E44-98B183DFEE2C}.Debug|x64.ActiveCfg = Debug|x64 {ABD7F1B5-C4E3-4200-8E44-98B183DFEE2C}.Debug|x64.Build.0 = Debug|x64 {ABD7F1B5-C4E3-4200-8E44-98B183DFEE2C}.Debug|x86.ActiveCfg = Debug|x86 {ABD7F1B5-C4E3-4200-8E44-98B183DFEE2C}.Debug|x86.Build.0 = Debug|x86 + {ABD7F1B5-C4E3-4200-8E44-98B183DFEE2C}.Release|Any CPU.ActiveCfg = Release|x86 {ABD7F1B5-C4E3-4200-8E44-98B183DFEE2C}.Release|x64.ActiveCfg = Release|x64 {ABD7F1B5-C4E3-4200-8E44-98B183DFEE2C}.Release|x64.Build.0 = Release|x64 {ABD7F1B5-C4E3-4200-8E44-98B183DFEE2C}.Release|x86.ActiveCfg = Release|x86 {ABD7F1B5-C4E3-4200-8E44-98B183DFEE2C}.Release|x86.Build.0 = Release|x86 + {BEA07A30-C611-4D1C-9632-6CC103722BAA}.Debug|Any CPU.ActiveCfg = Debug|x86 {BEA07A30-C611-4D1C-9632-6CC103722BAA}.Debug|x64.ActiveCfg = Debug|x64 {BEA07A30-C611-4D1C-9632-6CC103722BAA}.Debug|x64.Build.0 = Debug|x64 {BEA07A30-C611-4D1C-9632-6CC103722BAA}.Debug|x86.ActiveCfg = Debug|x86 {BEA07A30-C611-4D1C-9632-6CC103722BAA}.Debug|x86.Build.0 = Debug|x86 + {BEA07A30-C611-4D1C-9632-6CC103722BAA}.Release|Any CPU.ActiveCfg = Release|x86 {BEA07A30-C611-4D1C-9632-6CC103722BAA}.Release|x64.ActiveCfg = Release|x64 {BEA07A30-C611-4D1C-9632-6CC103722BAA}.Release|x64.Build.0 = Release|x64 {BEA07A30-C611-4D1C-9632-6CC103722BAA}.Release|x86.ActiveCfg = Release|x86 {BEA07A30-C611-4D1C-9632-6CC103722BAA}.Release|x86.Build.0 = Release|x86 + {EECF4BAA-9C9E-4687-A616-0F5C65C5F14B}.Debug|Any CPU.ActiveCfg = Debug|x86 {EECF4BAA-9C9E-4687-A616-0F5C65C5F14B}.Debug|x64.ActiveCfg = Debug|x64 {EECF4BAA-9C9E-4687-A616-0F5C65C5F14B}.Debug|x64.Build.0 = Debug|x64 {EECF4BAA-9C9E-4687-A616-0F5C65C5F14B}.Debug|x86.ActiveCfg = Debug|x86 {EECF4BAA-9C9E-4687-A616-0F5C65C5F14B}.Debug|x86.Build.0 = Debug|x86 + {EECF4BAA-9C9E-4687-A616-0F5C65C5F14B}.Release|Any CPU.ActiveCfg = Release|x86 {EECF4BAA-9C9E-4687-A616-0F5C65C5F14B}.Release|x64.ActiveCfg = Release|x64 {EECF4BAA-9C9E-4687-A616-0F5C65C5F14B}.Release|x64.Build.0 = Release|x64 {EECF4BAA-9C9E-4687-A616-0F5C65C5F14B}.Release|x86.ActiveCfg = Release|x86 {EECF4BAA-9C9E-4687-A616-0F5C65C5F14B}.Release|x86.Build.0 = Release|x86 + {7C6FADD7-A0BB-4BF3-8992-3D89ACE1CC69}.Debug|Any CPU.ActiveCfg = Debug|x86 {7C6FADD7-A0BB-4BF3-8992-3D89ACE1CC69}.Debug|x64.ActiveCfg = Debug|x64 {7C6FADD7-A0BB-4BF3-8992-3D89ACE1CC69}.Debug|x64.Build.0 = Debug|x64 {7C6FADD7-A0BB-4BF3-8992-3D89ACE1CC69}.Debug|x86.ActiveCfg = Debug|x86 {7C6FADD7-A0BB-4BF3-8992-3D89ACE1CC69}.Debug|x86.Build.0 = Debug|x86 + {7C6FADD7-A0BB-4BF3-8992-3D89ACE1CC69}.Release|Any CPU.ActiveCfg = Release|x86 {7C6FADD7-A0BB-4BF3-8992-3D89ACE1CC69}.Release|x64.ActiveCfg = Release|x64 {7C6FADD7-A0BB-4BF3-8992-3D89ACE1CC69}.Release|x64.Build.0 = Release|x64 {7C6FADD7-A0BB-4BF3-8992-3D89ACE1CC69}.Release|x86.ActiveCfg = Release|x86 {7C6FADD7-A0BB-4BF3-8992-3D89ACE1CC69}.Release|x86.Build.0 = Release|x86 + {D0D328E6-2D3D-4B55-9CEC-88552CD332EB}.Debug|Any CPU.ActiveCfg = Debug|x86 {D0D328E6-2D3D-4B55-9CEC-88552CD332EB}.Debug|x64.ActiveCfg = Debug|x64 {D0D328E6-2D3D-4B55-9CEC-88552CD332EB}.Debug|x64.Build.0 = Debug|x64 {D0D328E6-2D3D-4B55-9CEC-88552CD332EB}.Debug|x86.ActiveCfg = Debug|x86 {D0D328E6-2D3D-4B55-9CEC-88552CD332EB}.Debug|x86.Build.0 = Debug|x86 + {D0D328E6-2D3D-4B55-9CEC-88552CD332EB}.Release|Any CPU.ActiveCfg = Release|x86 {D0D328E6-2D3D-4B55-9CEC-88552CD332EB}.Release|x64.ActiveCfg = Release|x64 {D0D328E6-2D3D-4B55-9CEC-88552CD332EB}.Release|x64.Build.0 = Release|x64 {D0D328E6-2D3D-4B55-9CEC-88552CD332EB}.Release|x86.ActiveCfg = Release|x86 {D0D328E6-2D3D-4B55-9CEC-88552CD332EB}.Release|x86.Build.0 = Release|x86 + {CA0E4E2F-65E6-43E2-9F81-FCF0F0402EC5}.Debug|Any CPU.ActiveCfg = Debug|Win32 {CA0E4E2F-65E6-43E2-9F81-FCF0F0402EC5}.Debug|x64.ActiveCfg = Debug|x64 {CA0E4E2F-65E6-43E2-9F81-FCF0F0402EC5}.Debug|x64.Build.0 = Debug|x64 {CA0E4E2F-65E6-43E2-9F81-FCF0F0402EC5}.Debug|x86.ActiveCfg = Debug|Win32 {CA0E4E2F-65E6-43E2-9F81-FCF0F0402EC5}.Debug|x86.Build.0 = Debug|Win32 + {CA0E4E2F-65E6-43E2-9F81-FCF0F0402EC5}.Release|Any CPU.ActiveCfg = Release|Win32 {CA0E4E2F-65E6-43E2-9F81-FCF0F0402EC5}.Release|x64.ActiveCfg = Release|x64 {CA0E4E2F-65E6-43E2-9F81-FCF0F0402EC5}.Release|x64.Build.0 = Release|x64 {CA0E4E2F-65E6-43E2-9F81-FCF0F0402EC5}.Release|x86.ActiveCfg = Release|Win32 {CA0E4E2F-65E6-43E2-9F81-FCF0F0402EC5}.Release|x86.Build.0 = Release|Win32 + {3A0D1281-A503-4E5D-9765-D7BF56F89266}.Debug|Any CPU.ActiveCfg = Debug|x86 {3A0D1281-A503-4E5D-9765-D7BF56F89266}.Debug|x64.ActiveCfg = Debug|x64 {3A0D1281-A503-4E5D-9765-D7BF56F89266}.Debug|x64.Build.0 = Debug|x64 {3A0D1281-A503-4E5D-9765-D7BF56F89266}.Debug|x86.ActiveCfg = Debug|x86 {3A0D1281-A503-4E5D-9765-D7BF56F89266}.Debug|x86.Build.0 = Debug|x86 + {3A0D1281-A503-4E5D-9765-D7BF56F89266}.Release|Any CPU.ActiveCfg = Release|x86 {3A0D1281-A503-4E5D-9765-D7BF56F89266}.Release|x64.ActiveCfg = Release|x64 {3A0D1281-A503-4E5D-9765-D7BF56F89266}.Release|x64.Build.0 = Release|x64 {3A0D1281-A503-4E5D-9765-D7BF56F89266}.Release|x86.ActiveCfg = Release|x86 {3A0D1281-A503-4E5D-9765-D7BF56F89266}.Release|x86.Build.0 = Release|x86 + {4F31A3B6-D304-4D38-9D2B-3794281CB787}.Debug|Any CPU.ActiveCfg = Debug|Win32 {4F31A3B6-D304-4D38-9D2B-3794281CB787}.Debug|x64.ActiveCfg = Debug|x64 {4F31A3B6-D304-4D38-9D2B-3794281CB787}.Debug|x64.Build.0 = Debug|x64 {4F31A3B6-D304-4D38-9D2B-3794281CB787}.Debug|x86.ActiveCfg = Debug|Win32 {4F31A3B6-D304-4D38-9D2B-3794281CB787}.Debug|x86.Build.0 = Debug|Win32 + {4F31A3B6-D304-4D38-9D2B-3794281CB787}.Release|Any CPU.ActiveCfg = Release|Win32 {4F31A3B6-D304-4D38-9D2B-3794281CB787}.Release|x64.ActiveCfg = Release|x64 {4F31A3B6-D304-4D38-9D2B-3794281CB787}.Release|x64.Build.0 = Release|x64 {4F31A3B6-D304-4D38-9D2B-3794281CB787}.Release|x86.ActiveCfg = Release|Win32 {4F31A3B6-D304-4D38-9D2B-3794281CB787}.Release|x86.Build.0 = Release|Win32 + {EA6039D9-CFDA-44B5-BE32-F1256A649E18}.Debug|Any CPU.ActiveCfg = Debug|x86 {EA6039D9-CFDA-44B5-BE32-F1256A649E18}.Debug|x64.ActiveCfg = Debug|x64 {EA6039D9-CFDA-44B5-BE32-F1256A649E18}.Debug|x64.Build.0 = Debug|x64 {EA6039D9-CFDA-44B5-BE32-F1256A649E18}.Debug|x86.ActiveCfg = Debug|x86 {EA6039D9-CFDA-44B5-BE32-F1256A649E18}.Debug|x86.Build.0 = Debug|x86 + {EA6039D9-CFDA-44B5-BE32-F1256A649E18}.Release|Any CPU.ActiveCfg = Release|x86 {EA6039D9-CFDA-44B5-BE32-F1256A649E18}.Release|x64.ActiveCfg = Release|x64 {EA6039D9-CFDA-44B5-BE32-F1256A649E18}.Release|x64.Build.0 = Release|x64 {EA6039D9-CFDA-44B5-BE32-F1256A649E18}.Release|x86.ActiveCfg = Release|x86 {EA6039D9-CFDA-44B5-BE32-F1256A649E18}.Release|x86.Build.0 = Release|x86 + {7FB2A631-88C4-4C6B-9E8B-8EEEB40575D0}.Debug|Any CPU.ActiveCfg = Debug|x86 {7FB2A631-88C4-4C6B-9E8B-8EEEB40575D0}.Debug|x64.ActiveCfg = Debug|x64 {7FB2A631-88C4-4C6B-9E8B-8EEEB40575D0}.Debug|x64.Build.0 = Debug|x64 {7FB2A631-88C4-4C6B-9E8B-8EEEB40575D0}.Debug|x86.ActiveCfg = Debug|x86 {7FB2A631-88C4-4C6B-9E8B-8EEEB40575D0}.Debug|x86.Build.0 = Debug|x86 + {7FB2A631-88C4-4C6B-9E8B-8EEEB40575D0}.Release|Any CPU.ActiveCfg = Release|x86 {7FB2A631-88C4-4C6B-9E8B-8EEEB40575D0}.Release|x64.ActiveCfg = Release|x64 {7FB2A631-88C4-4C6B-9E8B-8EEEB40575D0}.Release|x64.Build.0 = Release|x64 {7FB2A631-88C4-4C6B-9E8B-8EEEB40575D0}.Release|x86.ActiveCfg = Release|x86 {7FB2A631-88C4-4C6B-9E8B-8EEEB40575D0}.Release|x86.Build.0 = Release|x86 + {D78A4080-34F4-45EC-A8EF-87F95815E3BD}.Debug|Any CPU.ActiveCfg = Debug|x86 {D78A4080-34F4-45EC-A8EF-87F95815E3BD}.Debug|x64.ActiveCfg = Debug|x64 {D78A4080-34F4-45EC-A8EF-87F95815E3BD}.Debug|x64.Build.0 = Debug|x64 {D78A4080-34F4-45EC-A8EF-87F95815E3BD}.Debug|x86.ActiveCfg = Debug|x86 {D78A4080-34F4-45EC-A8EF-87F95815E3BD}.Debug|x86.Build.0 = Debug|x86 + {D78A4080-34F4-45EC-A8EF-87F95815E3BD}.Release|Any CPU.ActiveCfg = Release|x86 {D78A4080-34F4-45EC-A8EF-87F95815E3BD}.Release|x64.ActiveCfg = Release|x64 {D78A4080-34F4-45EC-A8EF-87F95815E3BD}.Release|x64.Build.0 = Release|x64 {D78A4080-34F4-45EC-A8EF-87F95815E3BD}.Release|x86.ActiveCfg = Release|x86 {D78A4080-34F4-45EC-A8EF-87F95815E3BD}.Release|x86.Build.0 = Release|x86 + {3ECDD0BB-215A-4437-B162-FC9D9285303D}.Debug|Any CPU.ActiveCfg = Debug|x86 {3ECDD0BB-215A-4437-B162-FC9D9285303D}.Debug|x64.ActiveCfg = Debug|x64 {3ECDD0BB-215A-4437-B162-FC9D9285303D}.Debug|x64.Build.0 = Debug|x64 {3ECDD0BB-215A-4437-B162-FC9D9285303D}.Debug|x86.ActiveCfg = Debug|x86 {3ECDD0BB-215A-4437-B162-FC9D9285303D}.Debug|x86.Build.0 = Debug|x86 + {3ECDD0BB-215A-4437-B162-FC9D9285303D}.Release|Any CPU.ActiveCfg = Release|x86 {3ECDD0BB-215A-4437-B162-FC9D9285303D}.Release|x64.ActiveCfg = Release|x64 {3ECDD0BB-215A-4437-B162-FC9D9285303D}.Release|x64.Build.0 = Release|x64 {3ECDD0BB-215A-4437-B162-FC9D9285303D}.Release|x86.ActiveCfg = Release|x86 {3ECDD0BB-215A-4437-B162-FC9D9285303D}.Release|x86.Build.0 = Release|x86 + {7516898D-66CC-4084-A218-29F19A503673}.Debug|Any CPU.ActiveCfg = Debug|x86 {7516898D-66CC-4084-A218-29F19A503673}.Debug|x64.ActiveCfg = Debug|x64 {7516898D-66CC-4084-A218-29F19A503673}.Debug|x64.Build.0 = Debug|x64 {7516898D-66CC-4084-A218-29F19A503673}.Debug|x86.ActiveCfg = Debug|x86 {7516898D-66CC-4084-A218-29F19A503673}.Debug|x86.Build.0 = Debug|x86 + {7516898D-66CC-4084-A218-29F19A503673}.Release|Any CPU.ActiveCfg = Release|x86 {7516898D-66CC-4084-A218-29F19A503673}.Release|x64.ActiveCfg = Release|x64 {7516898D-66CC-4084-A218-29F19A503673}.Release|x64.Build.0 = Release|x64 {7516898D-66CC-4084-A218-29F19A503673}.Release|x86.ActiveCfg = Release|x86 {7516898D-66CC-4084-A218-29F19A503673}.Release|x86.Build.0 = Release|x86 + {D8F919A6-AC4D-4B22-A214-8258B241F507}.Debug|Any CPU.ActiveCfg = Debug|x86 {D8F919A6-AC4D-4B22-A214-8258B241F507}.Debug|x64.ActiveCfg = Debug|x64 {D8F919A6-AC4D-4B22-A214-8258B241F507}.Debug|x64.Build.0 = Debug|x64 {D8F919A6-AC4D-4B22-A214-8258B241F507}.Debug|x86.ActiveCfg = Debug|x86 {D8F919A6-AC4D-4B22-A214-8258B241F507}.Debug|x86.Build.0 = Debug|x86 + {D8F919A6-AC4D-4B22-A214-8258B241F507}.Release|Any CPU.ActiveCfg = Release|x86 {D8F919A6-AC4D-4B22-A214-8258B241F507}.Release|x64.ActiveCfg = Release|x64 {D8F919A6-AC4D-4B22-A214-8258B241F507}.Release|x64.Build.0 = Release|x64 {D8F919A6-AC4D-4B22-A214-8258B241F507}.Release|x86.ActiveCfg = Release|x86 {D8F919A6-AC4D-4B22-A214-8258B241F507}.Release|x86.Build.0 = Release|x86 + {87D41A40-A33F-499F-8635-22C6D99475A6}.Debug|Any CPU.ActiveCfg = Debug|x86 {87D41A40-A33F-499F-8635-22C6D99475A6}.Debug|x64.ActiveCfg = Debug|x64 {87D41A40-A33F-499F-8635-22C6D99475A6}.Debug|x64.Build.0 = Debug|x64 {87D41A40-A33F-499F-8635-22C6D99475A6}.Debug|x86.ActiveCfg = Debug|x86 {87D41A40-A33F-499F-8635-22C6D99475A6}.Debug|x86.Build.0 = Debug|x86 + {87D41A40-A33F-499F-8635-22C6D99475A6}.Release|Any CPU.ActiveCfg = Release|x86 {87D41A40-A33F-499F-8635-22C6D99475A6}.Release|x64.ActiveCfg = Release|x64 {87D41A40-A33F-499F-8635-22C6D99475A6}.Release|x64.Build.0 = Release|x64 {87D41A40-A33F-499F-8635-22C6D99475A6}.Release|x86.ActiveCfg = Release|x86 {87D41A40-A33F-499F-8635-22C6D99475A6}.Release|x86.Build.0 = Release|x86 + {22DA9276-BAE2-4328-9B74-522D5333E09C}.Debug|Any CPU.ActiveCfg = Debug|x86 {22DA9276-BAE2-4328-9B74-522D5333E09C}.Debug|x64.ActiveCfg = Debug|x64 {22DA9276-BAE2-4328-9B74-522D5333E09C}.Debug|x64.Build.0 = Debug|x64 {22DA9276-BAE2-4328-9B74-522D5333E09C}.Debug|x86.ActiveCfg = Debug|x86 {22DA9276-BAE2-4328-9B74-522D5333E09C}.Debug|x86.Build.0 = Debug|x86 + {22DA9276-BAE2-4328-9B74-522D5333E09C}.Release|Any CPU.ActiveCfg = Release|x86 {22DA9276-BAE2-4328-9B74-522D5333E09C}.Release|x64.ActiveCfg = Release|x64 {22DA9276-BAE2-4328-9B74-522D5333E09C}.Release|x64.Build.0 = Release|x64 {22DA9276-BAE2-4328-9B74-522D5333E09C}.Release|x86.ActiveCfg = Release|x86 {22DA9276-BAE2-4328-9B74-522D5333E09C}.Release|x86.Build.0 = Release|x86 + {5B8FCABB-7663-4047-997C-BD14C06EF301}.Debug|Any CPU.ActiveCfg = Debug|x86 {5B8FCABB-7663-4047-997C-BD14C06EF301}.Debug|x64.ActiveCfg = Debug|x64 {5B8FCABB-7663-4047-997C-BD14C06EF301}.Debug|x64.Build.0 = Debug|x64 {5B8FCABB-7663-4047-997C-BD14C06EF301}.Debug|x86.ActiveCfg = Debug|x86 {5B8FCABB-7663-4047-997C-BD14C06EF301}.Debug|x86.Build.0 = Debug|x86 + {5B8FCABB-7663-4047-997C-BD14C06EF301}.Release|Any CPU.ActiveCfg = Release|x86 {5B8FCABB-7663-4047-997C-BD14C06EF301}.Release|x64.ActiveCfg = Release|x64 {5B8FCABB-7663-4047-997C-BD14C06EF301}.Release|x64.Build.0 = Release|x64 {5B8FCABB-7663-4047-997C-BD14C06EF301}.Release|x86.ActiveCfg = Release|x86 {5B8FCABB-7663-4047-997C-BD14C06EF301}.Release|x86.Build.0 = Release|x86 + {BE31825C-8163-43FC-B0FD-996A9C19714B}.Debug|Any CPU.ActiveCfg = Debug|x86 {BE31825C-8163-43FC-B0FD-996A9C19714B}.Debug|x64.ActiveCfg = Debug|x64 {BE31825C-8163-43FC-B0FD-996A9C19714B}.Debug|x64.Build.0 = Debug|x64 {BE31825C-8163-43FC-B0FD-996A9C19714B}.Debug|x86.ActiveCfg = Debug|x86 {BE31825C-8163-43FC-B0FD-996A9C19714B}.Debug|x86.Build.0 = Debug|x86 + {BE31825C-8163-43FC-B0FD-996A9C19714B}.Release|Any CPU.ActiveCfg = Release|x86 {BE31825C-8163-43FC-B0FD-996A9C19714B}.Release|x64.ActiveCfg = Release|x64 {BE31825C-8163-43FC-B0FD-996A9C19714B}.Release|x64.Build.0 = Release|x64 {BE31825C-8163-43FC-B0FD-996A9C19714B}.Release|x86.ActiveCfg = Release|x86 {BE31825C-8163-43FC-B0FD-996A9C19714B}.Release|x86.Build.0 = Release|x86 + {C6BC3FE0-8333-4DFF-8284-07431E151B44}.Debug|Any CPU.ActiveCfg = Debug|x86 {C6BC3FE0-8333-4DFF-8284-07431E151B44}.Debug|x64.ActiveCfg = Debug|x64 {C6BC3FE0-8333-4DFF-8284-07431E151B44}.Debug|x64.Build.0 = Debug|x64 {C6BC3FE0-8333-4DFF-8284-07431E151B44}.Debug|x86.ActiveCfg = Debug|x86 {C6BC3FE0-8333-4DFF-8284-07431E151B44}.Debug|x86.Build.0 = Debug|x86 + {C6BC3FE0-8333-4DFF-8284-07431E151B44}.Release|Any CPU.ActiveCfg = Release|x86 {C6BC3FE0-8333-4DFF-8284-07431E151B44}.Release|x64.ActiveCfg = Release|x64 {C6BC3FE0-8333-4DFF-8284-07431E151B44}.Release|x64.Build.0 = Release|x64 {C6BC3FE0-8333-4DFF-8284-07431E151B44}.Release|x86.ActiveCfg = Release|x86 {C6BC3FE0-8333-4DFF-8284-07431E151B44}.Release|x86.Build.0 = Release|x86 + {1D5FB1F1-D4C9-4B4D-9225-73F4C459B875}.Debug|Any CPU.ActiveCfg = Debug|x86 {1D5FB1F1-D4C9-4B4D-9225-73F4C459B875}.Debug|x64.ActiveCfg = Debug|x64 {1D5FB1F1-D4C9-4B4D-9225-73F4C459B875}.Debug|x64.Build.0 = Debug|x64 {1D5FB1F1-D4C9-4B4D-9225-73F4C459B875}.Debug|x86.ActiveCfg = Debug|x86 {1D5FB1F1-D4C9-4B4D-9225-73F4C459B875}.Debug|x86.Build.0 = Debug|x86 + {1D5FB1F1-D4C9-4B4D-9225-73F4C459B875}.Release|Any CPU.ActiveCfg = Release|x86 {1D5FB1F1-D4C9-4B4D-9225-73F4C459B875}.Release|x64.ActiveCfg = Release|x64 {1D5FB1F1-D4C9-4B4D-9225-73F4C459B875}.Release|x64.Build.0 = Release|x64 {1D5FB1F1-D4C9-4B4D-9225-73F4C459B875}.Release|x86.ActiveCfg = Release|x86 {1D5FB1F1-D4C9-4B4D-9225-73F4C459B875}.Release|x86.Build.0 = Release|x86 + {31E86FB4-68DE-4DD6-8F03-D8E2DAAE07FA}.Debug|Any CPU.ActiveCfg = Debug|x86 {31E86FB4-68DE-4DD6-8F03-D8E2DAAE07FA}.Debug|x64.ActiveCfg = Debug|x64 {31E86FB4-68DE-4DD6-8F03-D8E2DAAE07FA}.Debug|x64.Build.0 = Debug|x64 {31E86FB4-68DE-4DD6-8F03-D8E2DAAE07FA}.Debug|x86.ActiveCfg = Debug|x86 {31E86FB4-68DE-4DD6-8F03-D8E2DAAE07FA}.Debug|x86.Build.0 = Debug|x86 + {31E86FB4-68DE-4DD6-8F03-D8E2DAAE07FA}.Release|Any CPU.ActiveCfg = Release|x86 {31E86FB4-68DE-4DD6-8F03-D8E2DAAE07FA}.Release|x64.ActiveCfg = Release|x64 {31E86FB4-68DE-4DD6-8F03-D8E2DAAE07FA}.Release|x64.Build.0 = Release|x64 {31E86FB4-68DE-4DD6-8F03-D8E2DAAE07FA}.Release|x86.ActiveCfg = Release|x86 diff --git a/README.md b/README.md index fb45d0e..1ad7c83 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# DereTore +# DereTore [![AppVeyor](https://img.shields.io/appveyor/ci/hozuki/deretore-avoh8.svg)](https://ci.appveyor.com/project/hozuki/deretore-avoh8) [![GitHub contributors](https://img.shields.io/github/contributors/OpenCGSS/DereTore.svg)](https://github.com/OpenCGSS/DereTore/graphs/contributors) @@ -6,122 +6,55 @@ [![Github All Releases](https://img.shields.io/github/downloads/OpenCGSS/DereTore/total.svg)](https://github.com/OpenCGSS/DereTore/releases) The goal of DereTore is to improve gaming experience in [Idolmaster Cinderella Girls: Starlight Stage](http://www.project-imas.com/wiki/THE_iDOLM@STER_Cinderella_Girls%3A_Starlight_Stage) -(CGSS/DereSute), or even to customize it a little bit. +(CGSS/DereSute), and even to customize it a little bit. **Downloads:** - [Nightly build](https://ci.appveyor.com/api/projects/hozuki/deretore-avoh8/artifacts/deretore-toolkit-x86.zip?job=Platform%3A+x86) (Windows, x86) - [Releases](https://github.com/OpenCGSS/DereTore/releases) -Wonder [how this name comes from](Notes.md#the-name)? +Wonder [how this name comes from](docs/Notes.md#the-name)? + +## What can it do? + +Create beatmaps, convert music - which are playable in vanilla CGSS. You can also unpack and decode resources from the game. + +There are several [projects](docs/Projects.md) in DereTore. Each of them provides a unique function. ## Usage -Requirements: +[中文使用说明](StarlightDirector/StarlightDirector/docs/user-guide_zh-CN.md) + +**Basic requirements:** + +- Windows 7 or later +- [.NET Framework 4.5](https://www.microsoft.com/en-us/download/details.aspx?id=42642) + +**Optional requirements:** -- Windows 7 or later (though some tools should be able to run on Mono) -- [.NET Framework 4.0](https://www.microsoft.com/en-us/download/details.aspx?id=17718) -- [Visual C++ Redistributable Packages for Visual Studio 2013](https://www.microsoft.com/en-us/download/details.aspx?id=40784) (*) -- [DirectX 9.0c](https://www.microsoft.com/en-us/download/details.aspx?id=8109) (*) +If you want to build custom CD jackets: -_* Only needed when you want to build custom CD jackets._ +- [Visual C++ Redistributable Packages for Visual Studio 2013](https://www.microsoft.com/en-us/download/details.aspx?id=40784) +- [DirectX 9.0c](https://www.microsoft.com/en-us/download/details.aspx?id=8109) -**For licensing reasons, newer releases do not include a necessary library `hcaenc_lite.dll`.** However, you can: +To use Starlight Director your system has to support Direct2D. + +**For licensing reasons, newer releases do not include an essential library `hcaenc_lite.dll`.** However, you can: 1. download `hcaenc_lite.dll` from [here](https://mega.nz/#!QxQjnZRB!85k5O6K5oMMM1W9ux7ZpkzXQFgV4EoYplZsW1ZOWZnM), or 2. download ADX2LE from its [download page](http://www.adx2le.com/download/index.html), and put `tools\hcaenc_lite.dll` to DereTore's application directory. If you encounter regional problems, you know there is a way to solve it. -There is a simple [user guide](StarlightDirector/StarlightDirector/docs/user-guide_zh-CN.md) for Chinese users. Versions in other languages are in progress. - ## Building 1. Clone from [GitHub](https://github.com/OpenCGSS/DereTore.git): `git clone https://github.com/OpenCGSS/DereTore.git`; 2. Install missing NuGet packages: `nuget restore DereTore.sln` (or use NuGet Package Manager in Visual Studio); -3. Open `DereTore.sln` in Visual Studio (VS2010 SP1 or later is required); +3. Open `DereTore.sln` in Visual Studio (Visual Studio 2015 or later is required for supporting C# 6 syntax); 4. Build the solution. ## TODO List -[TODO List](TODO.md) - -## Projects - -### Core Libraries - -[**StarlightStage**](Common/DereTore.Common.StarlightStage) - -You know what it is. - -[**HCA Audio**](Exchange/DereTore.Exchange.Audio.HCA) - -The pure C# implementation of CRI HCA v2.0 decoder, based on [kawashima](https://github.com/hozuki/kawashima). -Here is its [readme](Exchange/DereTore.Exchange.Audio.HCA/README.md). - -[**ACB Archive**](Exchange/DereTore.Exchange.Archive.ACB) - -CRI ACB/AWB package manipulation library. Only necessary parts are implemented. Here is its [readme](Exchange/DereTore.Exchange.Archive.ACB/README.md). - -### Applications - -Applications can be found in [`Apps`](Apps). - -[**Starlight Director**](StarlightDirector/StarlightDirector) - -The new score composer (still in alpha phase), the successor of ScoreEditor. Detailed readme and user manual will be written -in the future. Let's celebrate its alpha release! - -[**Score Viewer**](Apps/ScoreViewer) - -Viewing scores (beatmaps) of live music. Here is its [readme](Apps/ScoreViewer/README.md). - -[**hcacc**](Apps/Hcacc) - -The C# version of HCA cipher conversion utility. See **hcacc** in [hcatools](https://github.com/hozuki/libcgss). - -[**hcaenc**](Apps/Hcaenc) - -The C# version of HCA encoding utility. See **hcaenc** in [hcatools](https://github.com/hozuki/libcgss). - -[**hca2wav**](Apps/Hca2Wav) - -A console appilcation that converts HCA audio to wave audio. It can be used as a demo to integrate -*DereTore.HCA*. - -[**ACB Maker**](Apps/AcbMaker) - -A tool for creating CGSS-compatible ACB archives. Here is its [readme](Apps/AcbMaker/README.md). - -[**Music Toolchain**](Apps/MusicToolchain) - -A GUI program that integrates **hcaenc**, **hcacc** and **ACB Maker** into a streamline. Here -is its [readme](Apps/MusicToolchain/README.md). - -[**ACB Unzip**](Apps/AcbUnzip) - -An application for unpacking ACB archives. - -[**Jacket Creator**](Apps/JacketCreator) - -A utility for creating CD jackets. Used with score and music makers. - -### Other - -**LZ4** - -An LZ4 compression utility for compressing game data. It is designed for IdolProxy. - -**PVRTexLib Interop** - -An interop library of [PVRTexLib](https://community.imgtec.com/developers/powervr/graphics-sdk/), for generating PVR textures. - -**D3DX9 Interop** - -An interop library using D3DX9 to generate DDS textures. - -**Unity Engine Asset IO** - -An library which provides functions to generate CGSS-compatible (for specific Unity version) asset bundles. +[TODO List](docs/TODO.md) ## License @@ -129,4 +62,4 @@ This solution uses MIT License. See [LICENSE.md](LICENSE.md). ## Notes -See [here](Notes.md). +See [here](docs/Notes.md). diff --git a/Notes.md b/docs/Notes.md similarity index 100% rename from Notes.md rename to docs/Notes.md diff --git a/docs/Projects.md b/docs/Projects.md new file mode 100644 index 0000000..485693d --- /dev/null +++ b/docs/Projects.md @@ -0,0 +1,77 @@ +# Projects + +## Core Libraries + +[**StarlightStage**](../Common/DereTore.Common.StarlightStage) + +You know what it is. + +[**HCA Audio**](../Exchange/DereTore.Exchange.Audio.HCA) + +The pure C# implementation of CRI HCA v2.0 decoder, based on [kawashima](https://github.com/hozuki/kawashima). +Here is its [readme](../Exchange/DereTore.Exchange.Audio.HCA/README.md). + +[**ACB Archive**](../Exchange/DereTore.Exchange.Archive.ACB) + +CRI ACB/AWB package manipulation library. Only necessary parts are implemented. Here is its [readme](../Exchange/DereTore.Exchange.Archive.ACB/README.md). + +## Applications + +Applications can be found in [`Apps`](Apps). + +[**Starlight Director**](../StarlightDirector/StarlightDirector) + +The new score composer (still in alpha phase), the successor of ScoreEditor. Detailed readme and user manual will be written +in the future. Let's celebrate its alpha release! + +[**Score Viewer**](../Apps/ScoreViewer) + +Viewing scores (beatmaps) of live music. Here is its [readme](../Apps/ScoreViewer/README.md). + +[**hcacc**](../Apps/Hcacc) + +The C# version of HCA cipher conversion utility. See **hcacc** in [libcgss](https://github.com/hozuki/libcgss). + +[**hcaenc**](../Apps/Hcaenc) + +The C# version of HCA encoding utility. See **hcaenc** in [libcgss](https://github.com/hozuki/libcgss). + +[**hca2wav**](../Apps/Hca2Wav) + +A console appilcation that converts HCA audio to wave audio. It can be used as a demo to integrate +*DereTore.HCA*. + +[**ACB Maker**](../Apps/AcbMaker) + +A tool for creating CGSS-compatible ACB archives. Here is its [readme](../Apps/AcbMaker/README.md). + +[**Music Toolchain**](Apps/MusicToolchain) + +A GUI program that integrates **hcaenc**, **hcacc** and **ACB Maker** into a streamline. Here +is its [readme](../Apps/MusicToolchain/README.md). + +[**ACB Unzip**](../Apps/AcbUnzip) + +An application for unpacking ACB archives. + +[**Jacket Creator**](../Apps/JacketCreator) + +A utility for creating CD jackets. Used with score and music makers. + +## Other + +**LZ4** + +An LZ4 compression utility for compressing game data. It is designed for IdolProxy. + +**PVRTexLib Interop** + +An interop library of [PVRTexLib](https://community.imgtec.com/developers/powervr/graphics-sdk/), for generating PVR textures. + +**D3DX9 Interop** + +An interop library using D3DX9 to generate DDS textures. + +**Unity Engine Asset IO** + +An library which provides functions to generate CGSS-compatible (for specific Unity version) asset bundles. diff --git a/TODO.md b/docs/TODO.md similarity index 100% rename from TODO.md rename to docs/TODO.md