From owner-freebsd-hackers Sun Jul 23 12:53:38 1995 Return-Path: hackers-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id MAA11167 for hackers-outgoing; Sun, 23 Jul 1995 12:53:38 -0700 Received: from mail.rwth-aachen.de (mail.RWTH-Aachen.DE [137.226.144.9]) by freefall.cdrom.com (8.6.11/8.6.6) with ESMTP id MAA11161 for ; Sun, 23 Jul 1995 12:53:18 -0700 Received: from gilberto.physik.rwth-aachen.de by mail.rwth-aachen.de (PMDF V4.3-10 #7297) id <01HT826PB3PC004MD9@mail.rwth-aachen.de>; Sun, 23 Jul 1995 21:07:17 +0100 Received: (from kuku@localhost) by gilberto.physik.rwth-aachen.de (8.6.8/8.6.9) id VAA02036; Sun, 23 Jul 1995 21:18:25 +0200 Date: Sun, 23 Jul 1995 21:18:25 +0200 (MET DST) From: Christoph Kukulies Subject: Re: voice comms on freebsd In-reply-to: from "Kim Culhan" at Jul 23, 95 12:46:56 pm To: kimc@w8hd.org (Kim Culhan) Cc: freebsd-hackers@freefall.cdrom.com (user alias) Reply-to: Christoph Kukulies Message-id: <199507231918.VAA02036@gilberto.physik.rwth-aachen.de> X-Mailer: ELM [version 2.4 PL23] Content-type: text Content-transfer-encoding: 7BIT Content-length: 6439 Sender: hackers-owner@FreeBSD.org Precedence: bulk > > > 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 ; 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 ; 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 |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 |