Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 23 Jul 1995 21:18:25 +0200 (MET DST)
From:      Christoph Kukulies <kuku@gilberto.physik.rwth-aachen.de>
To:        kimc@w8hd.org (Kim Culhan)
Cc:        freebsd-hackers@freefall.cdrom.com (user alias)
Subject:   Re: voice comms on freebsd
Message-ID:  <199507231918.VAA02036@gilberto.physik.rwth-aachen.de>
In-Reply-To: <Pine.BSF.3.91.950723124351.12420A-100000@moonpie.w8hd.org> from "Kim Culhan" at Jul 23, 95 12:46:56 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> 
> 
> Since I've been 'off the list' for a couple of weeks now, what is the current
> state of things wrt ports of duplex voice comms for GUS hardware?

vat works with a special sound.v30.x and vmix.0.2
But vat does not work with the 'official' -current.
I appended a recipe I picked up from Amancio's multimedia list
a while ago.



> 
> regards
> kim
> 
> --
> kimc@w8hd.org
> 
> 

--Chris Christoph P. U. Kukulies kuku@gil.physik.rwth-aachen.de
FreeBSD blues.physik.rwth-aachen.de 2.2-CURRENT FreeBSD 2.2-CURRENT #0:
Tue Jul 18 14:49:19 MET DST 1995     kuku@blues.physik.rwth-aachen.de:
/usr/src/sys/compile/BLUESGUS  i386

|From multimedia-owner@rah.star-gate.com Thu Jun 29 22:50:43 1995
|Received: from rah.star-gate.com (rah.star-gate.com [204.188.121.18]) by gilberto.physik.rwth-aachen.de (8.6.8/8.6.9) with ESMTP id WAA11565 for <kuku@gilberto.physik.rwth-aachen.de>; Thu, 29 Jun 1995 22:50:39 +0200
|Received: (from root@localhost) by rah.star-gate.com (8.6.11/8.6.9) id NAA00979 for multimedia-outgoing; Thu, 29 Jun 1995 13:35:58 -0700
|Received: from plains.nodak.edu (plains.NoDak.edu [134.129.111.64]) by rah.star-gate.com (8.6.11/8.6.9) with ESMTP id NAA00974 for <multimedia@star-gate.com>; Thu, 29 Jun 1995 13:35:54 -0700
|Received: (from tinguely@localhost) by plains.nodak.edu (8.6.11/8.6.10) id PAA16991; Thu, 29 Jun 1995 15:35:25 -0500
|Date: Thu, 29 Jun 1995 15:35:25 -0500
|From: Mark Tinguely <tinguely@plains.nodak.edu>
|Message-Id: <199506292035.PAA16991@plains.nodak.edu>
|To: henrich@crh.cl.msu.edu, multimedia@star-gate.com
|Subject: Re: VAT on GUS (long)
|Content-Length: 4595
|Sender: owner-multimedia@star-gate.com
|Precedence: bulk
|Status: OR
|
|>  Does anyone have a general set of instructions for setting up a GUS to work w/
|>  VAT?  I've tried a variety of things, so far with no luck.  If someone who has
|>  done it successfully would post a quick list I'd be eternally greatful.
|
|since I got so much help, let me help you.
|
|1) get the files sound.v30.2.tar.gz and vmix.0.2.tar.gz from
|   ftp://ftp.cs.uwm.edu/pub/FreeBSD
|2) untar the sound.v30.tar.gz into /sys/i386/isa/sound
|3) run the shell file /sys/i386/isa/sound/freebsd/makedev.sh
|4) remove the "sound" entries in /sys/i386/conf/files.i386 and add the
|   contents of /sys/i386/isa/sound/freebsd/files.i386.add
|5) configure your kernel to for a GUS by adding the line:
|     device gus0     at isa? port 0x220 irq 11 drq 1 flags 3 vector gusintr
|   (the flag 3 is important)
|6) vmix requires System V shared memory so also add to the configuration file:
|     options         SYSVSHM
|7) make install your kernel
|8) unbundle the vmix.0.2.tar.gz
|9) make and install tk and tcl (if not already done)
|10) make vmix
|11) copy the README in the vmix sources to ~/.vmix.tcl and edit to
|    reflect a GUS card
|	*** start .vmix.tcl ***
|#
|# from Jim's .vmix.tcl file
|#
|# For vmix version 0.2
|option add Vmix.recordDev                       "/dev/dsp1"  
|option add Vmix.playDev                         "/dev/dsp"  
|option add Vmix.recordRate			8122
|	*** end .vmix.tcl ***
|12) add  ~/.sd.rtcp
|	*** start .sd.tcl ***
|# $Header: sd_start.tcl,v 1.4 93/03/24 20:27:43 van Exp $ (LBL)
|#
|# NOTE: This file is provided for reference purposes.  The code
|#       shown here is compiled into sd.  DON'T use this as your
|#	sd startup file (~/.sd.tcl).
|#
|# tcl 'hooks' invoked when sd takes some action on a session.
|#
|# sd will invoke:
|#	start_session	when the user asks to 'open' (start) a session
|#	create_session	just after the user creates a new session
|#	heard_session	when announcement for a session is first heard
|#	delete_session	when the user or a timeout deletes a session
|#
|# When any of the above are invoked, the global array sd_sess
|# contains all the information about the session to be started:
|#   sd_sess(name)
|#   sd_sess(description)
|#   sd_sess(address)
|#   sd_sess(ttl)
|#   sd_sess(creator)
|#   sd_sess(creator_id)
|#   sd_sess(source_id)
|#   sd_sess(arrival_time)
|#   sd_sess(start_time)
|#   sd_sess(end_time)
|#   sd_sess(attributes)		(list of session attributes)
|#   sd_sess(media)		(list of media names)
|#
|# For each media name there is an array containing the information
|# about that media:
|#   sd_$media(port)
|#   sd_$media(conf_id)
|#   sd_$media(attributes)	(list of media attributes)
|#
|# Media and session attributes are strings of the form "name" or
|# "name:value".
|#
|# Some global state information is available in array sd_priv:
|#   sd_priv(audio)		(= 0 if audio disabled with -a)
|#   sd_priv(video)		(= 0 if video disabled with -v)
|#   sd_priv(whiteboard)		(= 0 if wb disabled with -w)
|
|proc start_session {} {
|	global sd_sess sd_priv
|
|	# invoke the appropriate start proc for each of the media
|	# if such a proc exists and that media is enabled.
|	foreach m $sd_sess(media) {
|		if { [llength [info proc start_$m]] && $sd_priv($m) } {
|			start_$m
|		}
|	}
|}
|
|proc start_audio {} {
|	global sd_sess sd_audio
|	set audiofmt ""
|	set packetfmt "-n"
|	foreach a $sd_audio(attributes) {
|		case $a {
|			fmt:* { set audiofmt [string range $a 4 end] }
|			vt  { set packetfmt "-v" }
|		}
|	}
|	set confaddr [format "%s/%s/%s/%s/%s" $sd_sess(address) \
|		$sd_audio(port) $sd_audio(conf_id) $audiofmt $sd_sess(ttl)]
|
|	global vat
|	exec $vat -U /tmp/vatsock -C $sd_sess(name) $packetfmt $confaddr &
|}
|
|proc start_video {} {
|	global sd_sess sd_video
|	set videofmt "nv"
|	foreach a $sd_video(attributes) {
|		case $a {
|			fmt:* { set videofmt [string range $a 4 end] }
|		}
|	}
|	case $videofmt {
|		nv {
|			global nv
|			exec $nv -ttl $sd_sess(ttl) $sd_sess(address) \
|				$sd_video(port) &
|		}
|		ivs {
|			global ivs
|			exec $ivs -a -r -T $sd_sess(ttl) \
|				-I $sd_sess(address) &
|		}
|	}
|}
|
|proc start_whiteboard {} {
|	global sd_sess sd_whiteboard wb
|	exec $wb -C $sd_sess(name) -t $sd_sess(ttl) $sd_sess(address)/$sd_whiteboard(port)
|#	exec $wb -t $sd_sess(ttl) -p $sd_whiteboard(port) \
|#		$sd_sess(address) &
|}
|
|proc create_session {} {
|}
|
|proc heard_session {} {
|}
|
|proc delete_session {} {
|}
|
|# set up media option menus for new session window.
|
|set sd_menu(audio) "fmt: pcm idvi gsm lpc4\nvt"
|set sd_menu(video) "fmt: nv ivs"
|
|# set up the command names
|
|set vat vat
|set nv nv
|set ivs ivs
|set wb wb
|	*** end .sd.tcl ***
|13) run vmix
|14) enable the Record and Play buttons
|15) run sd/vat normally
|



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199507231918.VAA02036>