mirror of
https://github.com/openharmony/third_party_alsa-utils.git
synced 2026-07-01 23:34:10 -04:00
Clemens Ladisch <clemens@ladisch.de>:
- This adds an option to amidi not to ignore active sensing bytes.
This commit is contained in:
+12
-3
@@ -1,4 +1,4 @@
|
||||
.TH AMIDI 1 "27 Oct 2003"
|
||||
.TH AMIDI 1 "18 Jan 2004"
|
||||
|
||||
.SH NAME
|
||||
amidi \- read from and write to ALSA RawMIDI ports
|
||||
@@ -81,7 +81,9 @@ this will
|
||||
create a Standard MIDI (.mid) file.
|
||||
|
||||
.B amidi
|
||||
will filter out any Active Sensing bytes (FEh).
|
||||
will filter out any Active Sensing bytes (FEh), unless the
|
||||
.I -a
|
||||
option has been given.
|
||||
|
||||
.TP
|
||||
.I -S, --send-hex="..."
|
||||
@@ -90,7 +92,9 @@ Sends the bytes specified as hexadecimal numbers to the MIDI port.
|
||||
.TP
|
||||
.I -d, --dump
|
||||
Prints data received from the MIDI port as hexadecimal bytes.
|
||||
Active Sensing bytes (FEh) will not be shown.
|
||||
Active Sensing bytes (FEh) will not be shown, unless the
|
||||
.I -a
|
||||
option has been given.
|
||||
|
||||
This option is useful for debugging.
|
||||
|
||||
@@ -103,6 +107,11 @@ If this option has not been given, you must press Ctrl+C (or kill
|
||||
.B amidi\fR)
|
||||
to stop receiving data.
|
||||
|
||||
.TP
|
||||
.I -a, --active-sensing
|
||||
Does not ignore Active Sensing bytes (FEh) when saving or printing
|
||||
received MIDI commands.
|
||||
|
||||
.SH EXAMPLES
|
||||
|
||||
.SS
|
||||
|
||||
+9
-3
@@ -76,7 +76,8 @@ static void usage(void)
|
||||
"-S, --send-hex=\"...\" send hexadecimal bytes\n"
|
||||
"-d, --dump print received data as hexadecimal bytes\n"
|
||||
"-t, --timeout=seconds exits when no data has been received\n"
|
||||
" for the specified duration\n");
|
||||
" for the specified duration\n"
|
||||
"-a, --active-sensing don't ignore active sensing bytes\n");
|
||||
}
|
||||
|
||||
static void version(void)
|
||||
@@ -371,7 +372,7 @@ static void sig_handler(int dummy)
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
static char short_options[] = "hVlLp:s:r:S:dt:";
|
||||
static char short_options[] = "hVlLp:s:r:S:dt:a";
|
||||
static struct option long_options[] = {
|
||||
{"help", 0, NULL, 'h'},
|
||||
{"version", 0, NULL, 'V'},
|
||||
@@ -383,9 +384,11 @@ int main(int argc, char *argv[])
|
||||
{"send-hex", 1, NULL, 'S'},
|
||||
{"dump", 0, NULL, 'd'},
|
||||
{"timeout", 1, NULL, 't'},
|
||||
{"active-sensing", 0, NULL, 'a'},
|
||||
{ }
|
||||
};
|
||||
int c, err, ok = 0;
|
||||
int ignore_active_sensing = 1;
|
||||
|
||||
while ((c = getopt_long(argc, argv, short_options,
|
||||
long_options, NULL)) != -1) {
|
||||
@@ -420,6 +423,9 @@ int main(int argc, char *argv[])
|
||||
case 't':
|
||||
timeout = atoi(optarg);
|
||||
break;
|
||||
case 'a':
|
||||
ignore_active_sensing = 0;
|
||||
break;
|
||||
default:
|
||||
error("Try `amidi --help' for more information.");
|
||||
return 1;
|
||||
@@ -528,7 +534,7 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
length = 0;
|
||||
for (i = 0; i < err; ++i)
|
||||
if (buf[i] != 0xfe) /* drop any active sensing bytes */
|
||||
if (!ignore_active_sensing || buf[i] != 0xfe)
|
||||
buf[length++] = buf[i];
|
||||
if (length == 0)
|
||||
continue;
|
||||
|
||||
Reference in New Issue
Block a user