diff options
Diffstat (limited to 'mbone/vat/files/patch-ah')
-rw-r--r-- | mbone/vat/files/patch-ah | 135 |
1 files changed, 25 insertions, 110 deletions
diff --git a/mbone/vat/files/patch-ah b/mbone/vat/files/patch-ah index 06d8512f9daa..38c4ef3adf4c 100644 --- a/mbone/vat/files/patch-ah +++ b/mbone/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 |