summaryrefslogtreecommitdiff
path: root/audio/nosefart/patches/patch-ab
diff options
context:
space:
mode:
Diffstat (limited to 'audio/nosefart/patches/patch-ab')
-rw-r--r--audio/nosefart/patches/patch-ab72
1 files changed, 72 insertions, 0 deletions
diff --git a/audio/nosefart/patches/patch-ab b/audio/nosefart/patches/patch-ab
new file mode 100644
index 00000000000..6f87fcdb7ae
--- /dev/null
+++ b/audio/nosefart/patches/patch-ab
@@ -0,0 +1,72 @@
+$NetBSD: patch-ab,v 1.1.1.1 2004/02/27 02:58:06 snj Exp $
+
+--- src/linux/main_linux.c.orig 2003-10-22 18:31:57.000000000 +0200
++++ src/linux/main_linux.c
+@@ -3,6 +3,7 @@
+ UNIX systems */
+
+ #include <ctype.h>
++#include <signal.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -234,6 +235,50 @@ static void printsonginfo(int current_fr
+ /*Why not printf directly? Our termios hijinks for input kills the output*/
+ char *hi = (char *)malloc(255);
+
++
++ /*
++ * The new hijinks seem to cause trouble for NetBSD (\r sometimes
++ * doesn't get printed), so I'm adding \r to the beginning of these
++ * strings. Suggested by Bruce J.A Nourish, implemented by David
++ * Griffith.
++ */
++
++ if (total_frames !=0) {
++ if (limited) {
++ snprintf(hi, 254, "\rPlaying track %d of %d, channels %c%c%c%c%c%c, %d/%d seconds, %d/%d frames\r",
++ nsf->current_song, nsf->num_songs,
++ enabled[0]?'1':'-', enabled[1]?'2':'-',
++ enabled[2]?'3':'-', enabled[3]?'4':'-',
++ enabled[4]?'5':'-', enabled[5]?'6':'-',
++ (int)((float)(current_frame + nsf->playback_rate - 1)/(float)nsf->playback_rate),
++ (int)((float)(total_frames + nsf->playback_rate - 1)/(float)nsf->playback_rate),
++ current_frame,
++ total_frames);
++ } else {
++ snprintf(hi, 254, "\rPlaying track %d of %d, channels %c%c%c%c%c%c, %d/? seconds, %d/? frames\r",
++ nsf->current_song, nsf->num_songs,
++ enabled[0]?'1':'-', enabled[1]?'2':'-',
++
++ enabled[2]?'3':'-', enabled[3]?'4':'-',
++ enabled[4]?'5':'-', enabled[5]?'6':'-',
++ (int)((float)(current_frame + nsf->playback_rate - 1)/(float)nsf->playback_rate),
++ current_frame);
++ }
++ } else {
++ snprintf(hi, 254, "\rPlaying track %d of %d, channels %c%c%c%c%c%c, %d seconds, %d frames\r",
++ nsf->current_song, nsf->num_songs,
++ enabled[0]?'1':'-', enabled[1]?'2':'-',
++ enabled[2]?'3':'-', enabled[3]?'4':'-',
++ enabled[4]?'5':'-', enabled[5]?'6':'-',
++ (int)((float)(current_frame + nsf->playback_rate - 1)/(float)nsf->playback_rate),
++ current_frame);
++ }
++
++/*
++ * This stuff doesn't seem to work.
++ */
++
++/*
+ snprintf(hi, 254,
+ total_frames != 0 ?
+ "Playing track %d of %d, channels %c%c%c%c%c%c, %d/%d seconds, %d/%d frames\r":
+@@ -249,7 +294,7 @@ static void printsonginfo(int current_fr
+ current_frame,
+ total_frames
+ );
+-
++*/
+ write(STDOUT_FILENO, (void *)hi, strlen(hi));
+ free(hi);
+ }