aboutsummaryrefslogtreecommitdiffstats
path: root/audio
diff options
context:
space:
mode:
authorfenner <fenner@FreeBSD.org>2001-02-15 23:29:45 +0800
committerfenner <fenner@FreeBSD.org>2001-02-15 23:29:45 +0800
commit55750de5daba6b5cc3ad52680c09afb2424f8648 (patch)
treefb11cf357f7206e7556ad1faa94a772bbe4394cb /audio
parent166ec1ad2123e13f72e2eaff7c96cd427b529d60 (diff)
downloadfreebsd-ports-gnome-55750de5daba6b5cc3ad52680c09afb2424f8648.tar.gz
freebsd-ports-gnome-55750de5daba6b5cc3ad52680c09afb2424f8648.tar.zst
freebsd-ports-gnome-55750de5daba6b5cc3ad52680c09afb2424f8648.zip
patch-ah: add Orion Hodson's full-duplex probing and AC97 fix
patch-a[klmn]: Split original patch-ah into one patch per file patched. PR: 23618 Submitted by: Orion Hodson <O.Hodson@cs.ucl.ac.uk>
Diffstat (limited to 'audio')
-rw-r--r--audio/vat/files/patch-ah135
-rw-r--r--audio/vat/files/patch-ak21
-rw-r--r--audio/vat/files/patch-al10
-rw-r--r--audio/vat/files/patch-am22
-rw-r--r--audio/vat/files/patch-an45
5 files changed, 123 insertions, 110 deletions
diff --git a/audio/vat/files/patch-ah b/audio/vat/files/patch-ah
index 06d8512f9daa..38c4ef3adf4c 100644
--- a/audio/vat/files/patch-ah
+++ b/audio/vat/files/patch-ah
@@ -1,5 +1,5 @@
--- audio-voxware.cc.dist Fri Apr 26 05:22:37 1996
-+++ audio-voxware.cc Fri Jun 26 11:44:52 1998
++++ audio-voxware.cc Mon Dec 18 18:18:31 2000
@@ -1,4 +1,6 @@
/*
+ * Modifications (C) 1997-1998 by Luigi Rizzo and others.
@@ -7,7 +7,9 @@
* Copyright (c) 1991-1993 Regents of the University of California.
* All rights reserved.
*
-@@ -35,29 +37,41 @@
+@@ -33,31 +35,43 @@
+ static const char rcsid[] =
+ "@(#) $Header: audio-voxware.cc,v 1.10 96/04/26 05:22:05 van Exp $ (LBL)";
-#include <string.h>
-#include <sys/fcntl.h>
@@ -64,7 +66,7 @@
virtual int FrameReady();
virtual u_char* Read();
virtual void Write(u_char *);
-@@ -66,163 +80,400 @@
+@@ -66,163 +80,415 @@
virtual void OutputPort(int);
virtual void InputPort(int);
virtual void Obtain();
@@ -295,13 +297,26 @@
- }
- }
- writeptr = wbuf;
-+ int i;
-+ if (is_half_duplex) {
++ int i, probed_duplex = 0;
++
++ /* newpcm style */
++#ifdef SNDCTL_DSP_GETCAPS
++ ioctl(fd, SNDCTL_DSP_GETCAPS, &i);
++ probed_duplex |= (i & DSP_CAP_DUPLEX);
++#endif /* SNDCTL_DSP_GETCAPS */
++
++ /* pcm style */
++#ifdef SNDCTL_DSP_GETFMTS
++ ioctl(fd, SNDCTL_DSP_GETFMTS, &i);
++ probed_duplex |= (i & AFMT_FULLDUPLEX);
++#endif /* SNDCTL_DSP_GETFMTS */
++
++ if (is_half_duplex || (probed_duplex == 0)) {
+ fprintf(stderr, "HalfDuplex returns 1\n");
+ return 1 ;
}
-+ ioctl(fd, SNDCTL_DSP_GETFMTS, &i);
-+ return (i & AFMT_FULLDUPLEX) ? 0 : 1 ;
++
++ return 0;
}
-int VoxWareAudio::FrameReady()
@@ -475,7 +490,9 @@
+ printf("failed to set mic volume \n");
+ break;
+ }
-+ if (ioctl(fd, MIXER_WRITE(SOUND_MIXER_IGAIN), &foo) == -1)
++ /* IGAIN tends to be found on SB-like mixers, RECLEV on AC97 */
++ if ((ioctl(fd, MIXER_WRITE(SOUND_MIXER_IGAIN), &foo) == -1) &&
++ (ioctl(fd, MIXER_WRITE(SOUND_MIXER_RECLEV), &foo) == -1))
+ printf("failed set input line volume \n");
rgain = level;
}
@@ -558,105 +575,3 @@
+ return (l >= lim) ? 1 : 0 ;
+}
+/*** end of file ***/
-diff -ubwr old/audio.cc audio.cc
---- old/audio.cc Fri May 3 13:27:20 1996
-+++ audio.cc Thu Apr 16 21:36:33 1998
-@@ -70,6 +70,7 @@
- filter(new Filter(this)),
- handler_(0)
- {
-+ ext_fname[0]='\0';
- for (u_int i = 0; i < sizeof(omode)/sizeof(omode[0]); ++i)
- omode[i] = mode_mikemutesnet;
- }
-@@ -479,6 +480,10 @@
- *cp++ = '\0';
- return (TCL_OK);
- }
-+ } else if (strcmp(argv[1], "filename") == 0) {
-+ strncpy(ext_fname, argv[2], sizeof(ext_fname));
-+ InputPort(input_line3);
-+ return (TCL_OK);
- }
- } else if (argc == 4) {
- if (strcmp(argv[1], "input") == 0) {
-diff -ubwr old/audio.h audio.h
---- old/audio.h Fri Apr 26 12:00:44 1996
-+++ audio.h Fri Feb 20 13:44:01 1998
-@@ -158,6 +158,7 @@
- int rgain, pgain;
- Filter *filter;
- AudioHandler* handler_;
-+ char ext_fname[256];
- };
-
- #endif
-diff -ubwr old/bitmaps/linein3.xbm bitmaps/linein3.xbm
---- old/bitmaps/linein3.xbm Fri May 3 12:18:11 1996
-+++ bitmaps/linein3.xbm Wed Oct 29 11:07:34 1997
-@@ -1,11 +1,11 @@
- #define linein3_width 30
- #define linein3_height 24
- static char linein3_bits[] = {
-- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00,
-- 0x00, 0x80, 0xff, 0x00, 0x00, 0xe0, 0xc1, 0x03, 0x00, 0x70, 0x04, 0x07,
-- 0x00, 0x30, 0x0c, 0x06, 0x00, 0x18, 0x18, 0x0c, 0x00, 0x18, 0x30, 0x0c,
-- 0x00, 0x0c, 0x60, 0x18, 0xe0, 0xff, 0xff, 0x18, 0xe0, 0xff, 0xff, 0x19,
-- 0xe0, 0xff, 0xff, 0x18, 0x00, 0x0c, 0x60, 0x18, 0x00, 0x18, 0x30, 0x0c,
-- 0x18, 0x18, 0x18, 0x0c, 0x24, 0x30, 0x0c, 0x06, 0x20, 0x70, 0x04, 0x07,
-- 0x18, 0xe0, 0xc1, 0x03, 0x10, 0x80, 0xff, 0x00, 0x20, 0x00, 0x3e, 0x00,
-- 0x24, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-+ 0x00, 0x00, 0x00, 0x00, 0x7c, 0x1b, 0x3e, 0x00, 0x0c, 0x1b, 0x06, 0x00,
-+ 0x0c, 0x1b, 0x06, 0x00, 0x3c, 0x1b, 0x1e, 0x00, 0x0c, 0x1b, 0x06, 0x00,
-+ 0x0c, 0x1b, 0x06, 0x00, 0x0c, 0xfb, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x70, 0x00, 0x80, 0x0f, 0xf8, 0x00,
-+ 0xc0, 0x18, 0x8c, 0x01, 0x60, 0x30, 0x06, 0x03, 0x60, 0x30, 0x06, 0x03,
-+ 0x60, 0x30, 0x06, 0x03, 0xc0, 0x18, 0x8c, 0x01, 0x80, 0xff, 0xff, 0x00,
-+ 0x00, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-diff -ubwr old/ui-main.tcl ui-main.tcl
---- old/ui-main.tcl Fri May 3 13:27:22 1996
-+++ ui-main.tcl Sat Feb 21 06:02:59 1998
-@@ -373,9 +373,9 @@
- }
- mk.obuttons $w.frame.buttons
- frame $w.frame.ssthresh
-- # mk.ssthresh $w.frame.ssthresh
-- #pack $w.frame.radios $w.frame.buttons $w.frame.ssthresh \
-- # -anchor c -pady 4
-+ mk.ssthresh $w.frame.ssthresh
-+ pack $w.frame.radios $w.frame.buttons $w.frame.ssthresh \
-+ -anchor c -pady 4
- pack $w.frame.radios $w.frame.buttons \
- -anchor c -pady 4
- pack $w.label $w.frame -expand 1 -fill x
-@@ -515,6 +515,12 @@
- return 0
- }
-
-+proc update_filename { w s } {
-+ set s [string trim $s]
-+ audio filename $s
-+ return 0
-+}
-+
- proc mk.entries { w } {
- global sessionKey confName
- set sessionKey [option get . sessionKey Vat]
-@@ -913,6 +919,16 @@
- set a .m.right
- frame $a.ab
- mk.ab $a.ab
-+
-+### XXX
-+ set f [ctrlfont]
-+ frame .m.file
-+ label .m.file.label -text "AU File: " -font $f
-+ mk.entry .m.file update_filename ""
-+ .m.file.entry configure -width 30
-+ pack .m.file.label -side left
-+ pack .m.file.entry -side left -expand 1 -fill x -pady 2
-+ pack .m.file -fill x
-
- bind . c purge_sources
- bind . C purge_sources
diff --git a/audio/vat/files/patch-ak b/audio/vat/files/patch-ak
new file mode 100644
index 000000000000..d45528e48bc6
--- /dev/null
+++ b/audio/vat/files/patch-ak
@@ -0,0 +1,21 @@
+--- old/audio.cc Fri May 3 13:27:20 1996
++++ audio.cc Thu Apr 16 21:36:33 1998
+@@ -70,6 +70,7 @@
+ filter(new Filter(this)),
+ handler_(0)
+ {
++ ext_fname[0]='\0';
+ for (u_int i = 0; i < sizeof(omode)/sizeof(omode[0]); ++i)
+ omode[i] = mode_mikemutesnet;
+ }
+@@ -479,6 +480,10 @@
+ *cp++ = '\0';
+ return (TCL_OK);
+ }
++ } else if (strcmp(argv[1], "filename") == 0) {
++ strncpy(ext_fname, argv[2], sizeof(ext_fname));
++ InputPort(input_line3);
++ return (TCL_OK);
+ }
+ } else if (argc == 4) {
+ if (strcmp(argv[1], "input") == 0) {
diff --git a/audio/vat/files/patch-al b/audio/vat/files/patch-al
new file mode 100644
index 000000000000..1ce8088f62c8
--- /dev/null
+++ b/audio/vat/files/patch-al
@@ -0,0 +1,10 @@
+--- old/audio.h Fri Apr 26 12:00:44 1996
++++ audio.h Fri Feb 20 13:44:01 1998
+@@ -158,6 +158,7 @@
+ int rgain, pgain;
+ Filter *filter;
+ AudioHandler* handler_;
++ char ext_fname[256];
+ };
+
+ #endif
diff --git a/audio/vat/files/patch-am b/audio/vat/files/patch-am
new file mode 100644
index 000000000000..b3d22bbf4ed4
--- /dev/null
+++ b/audio/vat/files/patch-am
@@ -0,0 +1,22 @@
+--- old/bitmaps/linein3.xbm Fri May 3 12:18:11 1996
++++ bitmaps/linein3.xbm Wed Oct 29 11:07:34 1997
+@@ -1,11 +1,11 @@
+ #define linein3_width 30
+ #define linein3_height 24
+ static char linein3_bits[] = {
+- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00,
+- 0x00, 0x80, 0xff, 0x00, 0x00, 0xe0, 0xc1, 0x03, 0x00, 0x70, 0x04, 0x07,
+- 0x00, 0x30, 0x0c, 0x06, 0x00, 0x18, 0x18, 0x0c, 0x00, 0x18, 0x30, 0x0c,
+- 0x00, 0x0c, 0x60, 0x18, 0xe0, 0xff, 0xff, 0x18, 0xe0, 0xff, 0xff, 0x19,
+- 0xe0, 0xff, 0xff, 0x18, 0x00, 0x0c, 0x60, 0x18, 0x00, 0x18, 0x30, 0x0c,
+- 0x18, 0x18, 0x18, 0x0c, 0x24, 0x30, 0x0c, 0x06, 0x20, 0x70, 0x04, 0x07,
+- 0x18, 0xe0, 0xc1, 0x03, 0x10, 0x80, 0xff, 0x00, 0x20, 0x00, 0x3e, 0x00,
+- 0x24, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
++ 0x00, 0x00, 0x00, 0x00, 0x7c, 0x1b, 0x3e, 0x00, 0x0c, 0x1b, 0x06, 0x00,
++ 0x0c, 0x1b, 0x06, 0x00, 0x3c, 0x1b, 0x1e, 0x00, 0x0c, 0x1b, 0x06, 0x00,
++ 0x0c, 0x1b, 0x06, 0x00, 0x0c, 0xfb, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x70, 0x00, 0x80, 0x0f, 0xf8, 0x00,
++ 0xc0, 0x18, 0x8c, 0x01, 0x60, 0x30, 0x06, 0x03, 0x60, 0x30, 0x06, 0x03,
++ 0x60, 0x30, 0x06, 0x03, 0xc0, 0x18, 0x8c, 0x01, 0x80, 0xff, 0xff, 0x00,
++ 0x00, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
diff --git a/audio/vat/files/patch-an b/audio/vat/files/patch-an
new file mode 100644
index 000000000000..108d0e8ac475
--- /dev/null
+++ b/audio/vat/files/patch-an
@@ -0,0 +1,45 @@
+--- old/ui-main.tcl Fri May 3 13:27:22 1996
++++ ui-main.tcl Sat Feb 21 06:02:59 1998
+@@ -373,9 +373,9 @@
+ }
+ mk.obuttons $w.frame.buttons
+ frame $w.frame.ssthresh
+- # mk.ssthresh $w.frame.ssthresh
+- #pack $w.frame.radios $w.frame.buttons $w.frame.ssthresh \
+- # -anchor c -pady 4
++ mk.ssthresh $w.frame.ssthresh
++ pack $w.frame.radios $w.frame.buttons $w.frame.ssthresh \
++ -anchor c -pady 4
+ pack $w.frame.radios $w.frame.buttons \
+ -anchor c -pady 4
+ pack $w.label $w.frame -expand 1 -fill x
+@@ -515,6 +515,12 @@
+ return 0
+ }
+
++proc update_filename { w s } {
++ set s [string trim $s]
++ audio filename $s
++ return 0
++}
++
+ proc mk.entries { w } {
+ global sessionKey confName
+ set sessionKey [option get . sessionKey Vat]
+@@ -913,6 +919,16 @@
+ set a .m.right
+ frame $a.ab
+ mk.ab $a.ab
++
++### XXX
++ set f [ctrlfont]
++ frame .m.file
++ label .m.file.label -text "AU File: " -font $f
++ mk.entry .m.file update_filename ""
++ .m.file.entry configure -width 30
++ pack .m.file.label -side left
++ pack .m.file.entry -side left -expand 1 -fill x -pady 2
++ pack .m.file -fill x
+
+ bind . c purge_sources
+ bind . C purge_sources