Add ScaleFactorX/Y control CLI arguments
This commit is contained in:
parent
9d2590e7c8
commit
85dce8acec
3 changed files with 30 additions and 0 deletions
|
@ -10,5 +10,7 @@ Options:
|
|||
-h --help Shows this help message.
|
||||
-i --input {filename} Specifies the input midi file to convert.
|
||||
-o --output {filename} Specifies the file path to output the SVG music box strip to.
|
||||
-sx --scale-factor-x Sets the X scale factor. Defaults to 0.03.
|
||||
-sy --scale-factor-y Sets the Y scale factor. Defaults to 0.03.
|
||||
--box {Note30|Note30Corrected} The music box schema to use when rendering. Default: Note30Corrected.
|
||||
--debug Activates additional debugging output.
|
||||
|
|
|
@ -65,9 +65,22 @@ namespace MusicBoxConverter
|
|||
Console.Error.WriteLine($"Warning: The note {note} at {note.Time} can't be played by the {SelectedMusicBox}.");
|
||||
}
|
||||
}
|
||||
|
||||
public void SetScaleFactorX(float scaleFactorX) {
|
||||
Vector2 newScaleFactor = ScaleFactor;
|
||||
newScaleFactor.X = scaleFactorX;
|
||||
ScaleFactor = newScaleFactor;
|
||||
}
|
||||
|
||||
public void SetScaleFactorY(float scaleFactorY) {
|
||||
Vector2 newScaleFactor = ScaleFactor;
|
||||
newScaleFactor.Y = scaleFactorY;
|
||||
ScaleFactor = newScaleFactor;
|
||||
}
|
||||
|
||||
public void Output(string destinationFilename)
|
||||
{
|
||||
Console.WriteLine($"DEBUG SF {ScaleFactor}");
|
||||
Vector2 area = new Vector2(TrackLength, SelectedMusicBox.NoteCount-1).Multiply(ScaleFactor);
|
||||
Vector2 size = area.Add(Offset.Multiply(2));
|
||||
|
||||
|
|
|
@ -17,6 +17,8 @@ namespace MusicBoxConverter
|
|||
string outputFilename = "";
|
||||
bool debug = false;
|
||||
MusicBox targetMusicBox = MusicBox.Note30Corrected;
|
||||
float scaleFactorX = 0.03f;
|
||||
float scaleFactorY = 4.0f;
|
||||
|
||||
for(int i = 0; i < args.Length; i++)
|
||||
{
|
||||
|
@ -51,6 +53,16 @@ namespace MusicBoxConverter
|
|||
BindingFlags.Public
|
||||
).GetValue(null);
|
||||
break;
|
||||
|
||||
case "-sx":
|
||||
case "--scale-factor-x":
|
||||
scaleFactorX = float.Parse(args[++i], CultureInfo.InvariantCulture);
|
||||
break;
|
||||
|
||||
case "-sy":
|
||||
case "--scale-factor-y":
|
||||
scaleFactorY = float.Parse(args[++i], CultureInfo.InvariantCulture);
|
||||
break;
|
||||
|
||||
case "-h":
|
||||
case "--help":
|
||||
|
@ -78,6 +90,9 @@ namespace MusicBoxConverter
|
|||
) {
|
||||
Debug = debug
|
||||
};
|
||||
|
||||
converter.SetScaleFactorX(scaleFactorX);
|
||||
converter.SetScaleFactorY(scaleFactorY);
|
||||
converter.Output(outputFilename);
|
||||
|
||||
return 0;
|
||||
|
|
Loading…
Reference in a new issue