Skip to content

Commit

Permalink
Merge pull request #15 from zacharied/feat.cli-convert-standardize
Browse files Browse the repository at this point in the history
Add standardize option to fumen generate CLI
  • Loading branch information
MikiraSora authored Oct 11, 2024
2 parents 4c59735 + 7ea0487 commit 4a4e685
Show file tree
Hide file tree
Showing 5 changed files with 51 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -152,12 +152,9 @@ private async Task ProcessConvertCommand(FumenConvertOption opt)
if (CheckRelativePaths(opt.InputFumenFilePath, opt.OutputFumenFilePath))
return;

var converter = IoC.Get<IFumenConverter>();
var parserManager = IoC.Get<IFumenParserManager>();

var result = await FumenConverterWrapper.Generate(opt);
if (!result.IsSuccess) {
await Console.Error.WriteLineAsync($"{Resources.ConvertFail}: {result.Message}");
await Console.Error.WriteLineAsync($"{Resources.ConvertFail} {result.Message}");
Exit(1);
return;
}
Expand All @@ -179,7 +176,7 @@ private async Task ProcessJacketCommand(JacketGenerateOption arg)
}

if (!result.IsSuccess) {
await Console.Error.WriteLineAsync($"Failed to generate jacket: {result.Message}");
await Console.Error.WriteLineAsync($"{Resources.GenerateJacketFileFail} {result.Message}");
Exit(1);
return;
}
Expand All @@ -201,7 +198,7 @@ private async Task ProcessAcbCommand(AcbGenerateOption arg)
}

if (!result.IsSuccess) {
await Console.Error.WriteLineAsync($"Failed to generate audio: {result.Message}");
await Console.Error.WriteLineAsync($"{Resources.GenerateAudioFileFail} {result.Message}");
Exit(1);
return;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,11 @@ namespace OngekiFumenEditor.Modules.FumenConverter;
public class FumenConvertOption
{
[LocalizableOptionBinding<string>("inputFile", nameof(Resources.ProgramOptionInputFile), default, Require = true)]
public string InputFumenFilePath { get; set; }

public string InputFumenFilePath { get; set; }

[LocalizableOptionBinding<string>("outputFile", nameof(Resources.ProgramOptionOutputFile), default, Require = true)]
public string OutputFumenFilePath { get; set; }

[LocalizableOptionBinding<bool>("standardize", nameof(Resources.ProgramOptionStandardizeFumen), default)]
public bool IsStandarizeFumen { get; set; } = false;
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
using OngekiFumenEditor.Parser;
using OngekiFumenEditor.Parser.DefaultImpl;
using OngekiFumenEditor.Properties;
using OngekiFumenEditor.Utils.Ogkr;

namespace OngekiFumenEditor.Modules.FumenConverter.Kernel;

Expand Down Expand Up @@ -35,6 +36,19 @@ public static async Task<GenerateResult> Generate(FumenConvertOption option, Ong
if (string.IsNullOrWhiteSpace(option.OutputFumenFilePath))
return new(false, Resources.OutputFumenFileNotSelect);

if (option.IsStandarizeFumen) {
if (Path.GetExtension(option.OutputFumenFilePath) != ".ogkr") {
return new(false, Resources.OutputFumenStandardizeFormatNotSupported);
}

var res = await StandardizeFormat.Process(fumen);
if (!res.IsSuccess) {
return new(false, res.Message);
}

fumen = res.SerializedFumen;
}

var converter = IoC.Get<IFumenConverter>();
try {
var output = await converter.ConvertFumenAsync(fumen, option.OutputFumenFilePath);
Expand Down
24 changes: 21 additions & 3 deletions OngekiFumenEditor/Properties/Resources.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 8 additions & 2 deletions OngekiFumenEditor/Properties/Resources.resx
Original file line number Diff line number Diff line change
Expand Up @@ -793,13 +793,13 @@
<value>Generate .dll file fail:</value>
</data>
<data name="GenerateAudioFileFail" xml:space="preserve">
<value>Generate audio file failed:</value>
<value>Failed to generate audio file:</value>
</data>
<data name="GenerateAudioSuccess" xml:space="preserve">
<value>Generate audio file successfully, open output folder?</value>
</data>
<data name="GenerateJacketFileFail" xml:space="preserve">
<value>Generate jacket files fail:</value>
<value>Failed to generate jacket files:</value>
</data>
<data name="GenerateJacketFileSuccess" xml:space="preserve">
<value>Generate jacket files successfully, open output folder?</value>
Expand Down Expand Up @@ -1665,4 +1665,10 @@
<data name="Save" xml:space="preserve">
<value>Save</value>
</data>
<data name="ProgramOptionStandardizeFumen" xml:space="preserve">
<value>standardize the fumen output (only for .ogkr)</value>
</data>
<data name="OutputFumenStandardizeFormatNotSupported" xml:space="preserve">
<value>Cannot standardize for the selected output format</value>
</data>
</root>

0 comments on commit 4a4e685

Please sign in to comment.