-.TH AMIDI 1 "27 Oct 2003"
+.TH AMIDI 1 "18 Jan 2004"
.SH NAME
amidi \- read from and write to ALSA RawMIDI ports
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="..."
.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.
.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
"-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)
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'},
{"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) {
case 't':
timeout = atoi(optarg);
break;
+ case 'a':
+ ignore_active_sensing = 0;
+ break;
default:
error("Try `amidi --help' for more information.");
return 1;
}
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;