aseqsend: Support long options

Add the support for long-style options such as --verbose.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Takashi Iwai 2024-07-22 19:06:12 +02:00
parent c95db638c0
commit d480eac6f2
2 changed files with 20 additions and 9 deletions

View file

@ -21,35 +21,35 @@ name. A port is specified by its number; for port 0 of a client, the
.SH OPTIONS
.TP
\-h
\-h, \-\-help
Prints a list of options.
.TP
\-V
\-V, \-\-version
Prints the current version.
.TP
\-l
\-l, \-\-list
Prints a list of possible output ports.
.TP
\-v
\-v, \-\-verbose
Prints number of bytes actually sent
.TP
\-p
\-p, -\-port=client:port
Target port by number or name
.TP
\-s
\-s, \-\-file=filename
Send raw binary data from given file name
.TP
\-i
\-i, \-\-interval=msec
Interval between SysEx messages in miliseconds
.TP
\-u
\-u, \-\-ump=version
Specify the MIDI version. 0 for the legacy MIDI 1.0 (default),
1 for UMP MIDI 1.0 protocol and 2 for UMP MIDI 2.0 protocol.

View file

@ -362,6 +362,17 @@ static int msg_byte_in_range(mbyte_t *data, mbyte_t len)
int main(int argc, char *argv[])
{
static const struct option long_options[] = {
{"help", 0, NULL, 'h'},
{"version", 0, NULL, 'V'},
{"verbose", 0, NULL, 'v'},
{"list", 0, NULL, 'l'},
{"port", 1, NULL, 'p'},
{"file", 1, NULL, 's'},
{"interval", 1, NULL, 'i'},
{"ump", 1, NULL, 'u'},
{0}
};
char c = 0;
char do_send_file = 0;
char do_port_list = 0;
@ -370,7 +381,7 @@ int main(int argc, char *argv[])
int sent_data_c;
int k;
while ((c = getopt(argc, argv, "hi:Vvlp:s:u:")) != -1) {
while ((c = getopt_long(argc, argv, "hi:Vvlp:s:u:", long_options, NULL)) != -1) {
switch (c) {
case 'h':
usage();