]> git.alsa-project.org Git - alsa-utils.git/commitdiff
Clemens Ladisch <clemens@ladisch.de>:
authorTakashi Iwai <tiwai@suse.de>
Mon, 19 Jan 2004 18:39:12 +0000 (18:39 +0000)
committerTakashi Iwai <tiwai@suse.de>
Mon, 19 Jan 2004 18:39:12 +0000 (18:39 +0000)
- This adds an option to amidi not to ignore active sensing bytes.

amidi/amidi.1
amidi/amidi.c

index d7b87be13e81596852d9900c86f3010aeaefdb59..c4f160d1ef2b568e26bd4905cd826ed1c18427b4 100644 (file)
@@ -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
index a3f1035e1ed9b5161a55fa60931a291abe1a1984..12bafd8475e912ee41e8ef4c3c3293c813dad13d 100644 (file)
@@ -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;