diff options
author | fenner <fenner@FreeBSD.org> | 2001-02-15 15:29:45 +0000 |
---|---|---|
committer | fenner <fenner@FreeBSD.org> | 2001-02-15 15:29:45 +0000 |
commit | 55750de5daba6b5cc3ad52680c09afb2424f8648 (patch) | |
tree | fb11cf357f7206e7556ad1faa94a772bbe4394cb /audio/vat | |
parent | 166ec1ad2123e13f72e2eaff7c96cd427b529d60 (diff) | |
download | FreeBSD-ports-55750de5daba6b5cc3ad52680c09afb2424f8648.zip FreeBSD-ports-55750de5daba6b5cc3ad52680c09afb2424f8648.tar.gz |
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/vat')
-rw-r--r-- | audio/vat/files/patch-ah | 135 | ||||
-rw-r--r-- | audio/vat/files/patch-ak | 21 | ||||
-rw-r--r-- | audio/vat/files/patch-al | 10 | ||||
-rw-r--r-- | audio/vat/files/patch-am | 22 | ||||
-rw-r--r-- | audio/vat/files/patch-an | 45 |
5 files changed, 123 insertions, 110 deletions
diff --git a/audio/vat/files/patch-ah b/audio/vat/files/patch-ah index 06d8512..38c4ef3 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 0000000..d45528e --- /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 0000000..1ce8088 --- /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 0000000..b3d22bb --- /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 0000000..108d0e8 --- /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 |