-
Notifications
You must be signed in to change notification settings - Fork 0
/
Options.cs
67 lines (54 loc) · 2.41 KB
/
Options.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
using CommandLine;
namespace K5KTool
{
[Verb("create", HelpText = "Create a new patch.")]
public class CreateOptions
{
[Option('t', "type", Required = true, HelpText = "Patch type (single or multi).")]
public string PatchType { get; set; }
[Option('d', "descriptor", Required = false, HelpText = "Descriptor file in JSON format")]
public string Descriptor { get; set; }
[Option('o', "output", Required = true, HelpText = "Output file")]
public string OutputFileName { get; set; }
[Option('b', "bank", Required = true, HelpText = "Bank name (A, D, E, F)")]
public string BankName { get; set; }
[Option('n', "number", Required = true, HelpText = "Patch number (1...128)")]
public int PatchNumber { get; set; }
}
[Verb("list", HelpText = "List contents of bank.")]
public class ListOptions
{
[Option('f', "filename", Required = true, HelpText = "Input file to be processed")]
public string FileName { get; set; }
}
[Verb("dump", HelpText = "Dump contents of bank or patch file.")]
public class DumpOptions
{
[Option('f', "filename", Required = true, HelpText = "Input file to be processed")]
public string FileName { get; set; }
[Option('o', "output", Required = true, HelpText = "Output file format ('text' or 'json')")]
public string Output { get; set; }
}
[Verb("report", HelpText = "Report on the specified bank or patch file.")]
public class ReportOptions
{
[Option('f', "filename", Required = true, HelpText = "Input file to be processed")]
public string FileName { get; set; }
}
[Verb("init", HelpText = "Initialize a new bank.")]
public class InitOptions
{
[Option('o', "output", Required = true, HelpText = "Output file")]
public string OutputFileName { get; set; }
}
[Verb("edit", HelpText = "Make changes to the edit buffer.")]
public class EditOptions
{
[Option('d', "device", Required = true, HelpText = "MIDI device for `sendmidi` command")]
public string Device { get; set; }
[Option('w', "waveform", Required = true, HelpText = "Waveform for harmonic levels")]
public string Waveform { get; set; }
[Option('p', "params", Required = false, HelpText = "Parameters for custom waveform, comma-separated")]
public string Params { get; set; }
}
}