This adds an option to amidi not to ignore active sensing bytes.
Index: alsa-utils/amidi/amidi.1
===================================================================
RCS file: /cvsroot/alsa/alsa-utils/amidi/amidi.1,v
retrieving revision 1.1
diff -u -r1.1 amidi.1
--- alsa-utils/amidi/amidi.1 28 Oct 2003 10:53:43 -0000 1.1
+++ alsa-utils/amidi/amidi.1 19 Jan 2004 10:17:39 -0000
@@ -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 @@
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 @@
.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.
@@ -102,6 +106,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
Index: alsa-utils/amidi/amidi.c
===================================================================
RCS file: /cvsroot/alsa/alsa-utils/amidi/amidi.c,v
retrieving revision 1.3
diff -u -r1.3 amidi.c
--- alsa-utils/amidi/amidi.c 13 Jan 2004 16:11:56 -0000 1.3
+++ alsa-utils/amidi/amidi.c 19 Jan 2004 10:17:39 -0000
@@ -76,7 +76,8 @@
"-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 @@
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 @@
{"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 @@
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 @@
}
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;
-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel