Commit Graph

252 Commits

Author SHA1 Message Date
isaki
ae997346b5 Add factor_denom, a denominator of factor,
in 'struct audio_param' for vs0 on x68k.

{hw,user}_bytes_per_sample is changed to {hw,user}_bits_per_sample
to handle 4bit/sampling.
2002-03-16 08:58:49 +00:00
kent
569fb75aef audio.c: revert a part of previous change.
auconv.c: correct handling of size parameter.
2002-03-15 14:55:03 +00:00
kent
a5bad132ba Fix a bug of audio_read() in a case that params->factor is not 1. 2002-03-15 14:35:32 +00:00
kent
a1f23f2a90 Move sampling rate conversion functions to aurateconv.c.
Introduce "aurateconv" attribute for audio devices.
Add aurateconv to uaudio and auich.
(due to kern/15845 and kern/15848)
2002-03-09 20:30:42 +00:00
toshii
f9d3d32c2e Fix splaudio/splx botch. 2002-03-09 07:25:41 +00:00
thorpej
4c3cc0bfe3 Fix printf format on LP64. 2002-03-08 02:30:54 +00:00
kent
c329c38eef Sampling rate and mono-stereo conversion described in
http://mail-index.netbsd.org/tech-kern/2002/03/04/0005.html

auconv.c: Add conversion functions

audio.c: Sample alignment, calling conversion functions, etc.

audio_if.h: Add four hw_* members to "struct audio_params"

audiovar.h: Add conversion buffers, etc.

auich and uaudio: Add conversion request code to *_set_params().
2002-03-07 14:37:02 +00:00
jdolecek
74c54977ea drop completely superfluous PRINT() macro 2002-01-18 21:59:41 +00:00
perry
4c7e639df1 fix a trivial lint warning 2001-11-17 05:31:27 +00:00
lukem
2bbe2de647 add RCSIDs 2001-11-13 05:32:49 +00:00
augustss
3d2be4cf9b Fix pasto in type of dev_ioctl method. 2001-10-03 20:48:41 +00:00
augustss
1339e88a86 Add a new optional method, dev_ioctl, to the audio hardware driver interface.
It is called when an unrecognized ioctl() is performed on a device,
thus allowing ioctl()s that frob the hardware driver (like loading
microcode).
2001-10-03 00:04:47 +00:00
augustss
9cf205c410 ANSIfy. 2001-10-02 23:31:54 +00:00
wiz
456dff6cb8 Spell 'occurred' with two 'r's. 2001-09-16 16:34:23 +00:00
is
8d9290c427 Allow 24 and 32bit linear audio.
Actually, the silence filler can do any multiple of 8 bits now, but I didn't
allow the parameter check to accept more than 32 bit to avoid confusion
of drivers that fail to check the parameters themselves thoroughly.
This should be changed later.
2001-09-03 18:51:43 +00:00
jhawk
4cfd2cf1d0 s/printf/DPRINTF/ for kern/13101. 2001-06-03 23:52:51 +00:00
minoura
399af9e4a8 X68k built-in voice synthesizer supports 4bit ADPCM. 2001-05-02 12:49:41 +00:00
toshii
b8569c0b8e The previous revision was my fault. audio_calcwater() needs to be
called at every open.
Thanks Witold J. Wnuk for pointing out this problem.
2001-01-25 15:25:34 +00:00
toshii
577ac6e31c Remove the line in audio_open which zeroes sc_[pr]r.blksize.
Because zeroing them causes zero division panic with devices which don't
support 8kHz mulaw, and the effect of this line was to force calling
audio_calcwater even when unnecessary.
2001-01-22 08:37:54 +00:00
augustss
b85fdbbc47 Add a field in mixer_devinfo_t that indicates the minimum delta to
change mixer value.  A value of 0 indicates that the driver doesn't
supply a delta.
The change is backwards compatible.
2000-12-29 10:00:08 +00:00
jmc
5b7fb2728a Back out changes from 1.124 since the additions of *ports.master=-1 wasn't
documented as to why it was added in and it breaks the ability to set the
gain on playback. A longer term fix to set these correctly should be done but
none of the drivers today are doing this and not being able to set the playback
volume otherwise is a bit silly.
2000-12-25 00:01:39 +00:00
nathanw
554019cd4b More printf format munging for off_t: when printing as %lld, cast to long long. 2000-07-19 13:44:24 +00:00
thorpej
cfaba33937 Use device_lookup(). 2000-07-06 00:43:04 +00:00
augustss
d28770775b Make it compile with AUDIO_DEBUG after the mmap API change. 2000-06-27 21:25:02 +00:00
mrg
f324eef2d2 remove include of <vm/vm.h> 2000-06-27 17:55:38 +00:00
simonb
889c658b5b Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes.  Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
2000-06-26 04:55:19 +00:00
mrg
c543a66253 remove some redundant <vm/vm_xxx.h> includes 2000-06-25 13:26:19 +00:00
augustss
c7d698ac41 Support recording conversions that change the sample size. PR 10029, from Gregory McGarry. 2000-05-02 00:00:00 +00:00
augustss
07f142cd50 Add some more debug output. 2000-05-01 17:10:40 +00:00
augustss
5b99967f1d Avoid a pointless debug message. 2000-03-26 10:01:32 +00:00
augustss
ba4e755a9c Change the cmd argument in {audio,mixer}_ioctl() to u_long. 2000-03-01 00:44:35 +00:00
kleink
56060556e3 Report all AUDIO_PROP_* properties when attaching an audio device. 1999-12-15 12:09:34 +00:00
augustss
2e175b3f88 Avoid 0 blocksize. 1999-11-23 08:38:30 +00:00
augustss
3ea93b7669 Make sure to call vdevgone() on all devices when deteching. 1999-11-09 16:50:47 +00:00
augustss
fb4a4525a8 Be cautious about the blocksize returned by the hardware driver to
avoid division by 0.
1999-11-01 18:06:36 +00:00
kleink
9dfb5a91ec Minor output formatting buglet. 1999-09-23 11:53:13 +00:00
augustss
a85a08c2fb Add support for detaching audio devices. 1999-09-09 10:24:39 +00:00
thorpej
12006f3c05 Don't clobber the error returned by uiomove() when starting the audio
output (in case we got a partial block).  Fixes PR #7722, from
Antti Kantee <pooka@iki.fi>.
1999-06-07 19:24:38 +00:00
nathanw
9e14ee3c6e Fix two small bugs:
(1) Fix sense of a strcmp() test so that the monitor subdevice of the
    mixer is properly identified.
(2) Use hw_if->set_port() instead of hw_if->get_port() when changinh
    the monitor level in audiosetinfo().

Fixes PR kern/7661.
1999-05-30 00:21:08 +00:00
nathanw
ea0550413c Make these compile on the alpha when AUDIO_DEBUG is defined. 1999-02-26 01:18:09 +00:00
mycroft
35399992bb Indicate whether the decive is full or half duplex at attach time. 1999-02-19 17:09:16 +00:00
mycroft
e5f5e628d2 Pass the direction to the allocm and round_buffersize methods.
Some drivers need this to properly allocate DMAable memory.
1999-02-17 02:37:38 +00:00
augustss
33f1482ece Make sure recording is started before we return EWOULDBLOCK in a read(). 1998-12-27 23:25:32 +00:00
augustss
496387c419 Fold lines to 80 chars. 1998-12-27 22:52:23 +00:00
drochner
6292c7eda0 Make midi_attach_mi() and audioprint() available also if MIDIBUS
(but not necessarily MIDI) is defined.
Fixes PR port-i386/6615 (Krister Walfridsson <cato@ulysses.df.lth.se>).
(XXX this should probably go into a separate file to get rid of
the #ifdef mess)
1998-12-20 14:26:44 +00:00
mycroft
53698488ff Do not permit a class to be recorded as a master or monitor port. 1998-11-25 13:44:13 +00:00
mrg
db3051d720 fix problems in many d_mmap routines:
- returned EOPNOTSUPP rather than -1.
	- no check for negative offset.
many of these fix potential security problems in these drivers.


XXX XXX XXX
the d_mmap cdev routine should be changed to have a prototype like:
	paddr_t (*d_mmap) __P((dev_t, off_t, int));

by someone!
1998-11-19 15:38:20 +00:00
christos
b12bfa760e Make this compile again with no audio but with midi devices. 1998-09-27 16:43:56 +00:00
mycroft
b742b9ad67 Move some debugging output to more useful levels. 1998-09-01 07:27:06 +00:00
pk
535cdbe9f2 Slight optimization in audio_[pr]int(). 1998-08-28 12:07:41 +00:00
augustss
c50af72c34 Handle the case of MIDI devices with no audio devices. 1998-08-28 07:44:12 +00:00
thorpej
1083dcb6ca Back out previous. 1998-08-18 18:16:30 +00:00
thorpej
73d1752963 Deal with somewhat bogus uninitialized warning in new egcs. Behavior
is such that would inidicate that __attribute__((__noreturn__)) is not
being honored.
1998-08-18 06:16:45 +00:00
augustss
cd09067eb4 * Redo the way the way the MIDI driver attaches to audio devices.
* Improve the midisyn layer a little.
* Add a driver for the Yamaha OPL[23] FM synths.
  The opl driver is not finished yet; it sounds pretty awful.

For some strange reason I cannot get any FM sound from my SB64 cards,
but a regular SB16 works fine.
1998-08-17 21:16:09 +00:00
mycroft
20ec08b84e Oops. 1998-08-10 01:17:33 +00:00
mycroft
10148394d2 Call set_params if usemode changes. 1998-08-10 01:13:20 +00:00
mycroft
17431823fb Add trigger_output and trigger_input entry points, which replace
init_{in,out}put and start_{in,out}put, and are only called once.
1998-08-09 20:28:07 +00:00
mycroft
a2fc689833 Make sure output is thoroughly halted on close, and remember that we stopped
it.
1998-08-09 07:25:58 +00:00
mycroft
9bedf069cd Mask off extra usemode bits. 1998-08-09 05:44:51 +00:00
mycroft
b3853549b3 Always copy back both the record and play parameters, in case the driver had
to change one behind our back.
1998-08-09 04:54:44 +00:00
augustss
48bae9ee88 Add MIDI support. The MIDI devices can be accessed as ``raw'' through
the /dev/rmidiN devices, or with a sequencer interface via /dev/music.
So far the only supported MIDI device is the MPU401 port on SoundBlaster
(and only on SB on isapnp, since we do not have locators with multiple
values yet).
1998-08-07 00:00:55 +00:00
augustss
28e2d6024a Clarify a comment. 1998-08-05 16:38:09 +00:00
augustss
5b057ab09f Allow option AUDIO_INTR_TIME even if the platform does not support
FP in the kernel.
1998-08-04 11:26:14 +00:00
mycroft
f37f08c48e This doesn't need opt_compat_netbsd.h any more. 1998-07-09 09:27:33 +00:00
mycroft
401accfd7a Don't #ifdef the encoding compatibility crud. It's needed for source
compatibility with other systems and much third party software.
1998-07-09 02:45:45 +00:00
jonathan
d275e56dee * defopt COMPAT_{09,10,11,12,13} and COMPAT_NOMID.
TODO: revisit interaction between native compat and emul compat usage.
1998-07-05 08:49:30 +00:00
augustss
54281b8662 Avoid spaces in tsleep() string. 1998-05-18 18:27:43 +00:00
augustss
88edb37522 Be more verbose if attaching the audio device fails. 1998-05-15 15:45:58 +00:00
augustss
df71a424d6 Change debug printing a littel again. 1998-04-28 23:19:20 +00:00
augustss
127acabd9c Add a few more debug messages and clean up debug printing a little. 1998-04-28 09:07:12 +00:00
augustss
44c6ce78d2 Avoid the name free so the MALLOCLOG option works again.
Fix some typos.
1998-03-03 09:16:15 +00:00
thorpej
43ba4e27bd Adjust for config changes. 1998-01-12 08:44:08 +00:00
augustss
a908b2b30e Fix three problems spotted by mycroft:
- Closing the audio device should stop recording.
- Manipulating the pause function could accidentally start playing or recording.
- AUDIO_FLUSH could accidentally start playing or recording.
1997-12-03 01:01:19 +00:00
augustss
b366d54e2e Fix slight glitch in last commit when AUDIO_DEBUG is on. 1997-10-29 02:11:45 +00:00
augustss
9f84e63746 Do audio attachment the right way. From Chris Demetriou.
(Maybe I'll get the hang of the configuration stuff one of these days. :-)
1997-10-29 02:00:20 +00:00
augustss
e7029fc0da Make the audio API (almost) SunOS compatible.
The changes is to allow some limited mixer manipulation through
the audio device (instead of the mixer device).
This rendered 4 methods in audio_hw_if unused so garbage collect these.
1997-10-19 07:41:33 +00:00
is
25ea46120a TMS320AV110 (mpeg layer 2 decoder chip) and ZBUS Melody board, which uses it.
No optionboards yet for Melody, only audio driver.
MPEG data types for audio.c
1997-10-16 23:57:56 +00:00
augustss
31ab81c6e4 Aignore interrupts if the device isn't open. 1997-10-16 16:41:18 +00:00
augustss
0d79fbe5c5 Don't test for unused methods. 1997-10-14 18:43:42 +00:00
mycroft
3cdff9d435 GETPROPS does not indicate whether the device is currently in full-duplex
mode.  Reinstate GETFD to return this information.
1997-10-11 11:16:28 +00:00
augustss
4f2068ec29 Sanity check hi/lo water mark settings better. 1997-10-07 22:40:43 +00:00
augustss
ffcdaf144d Move around splaudio() to (hopefully) get rid of some rare race conditions.
Add a missing call to round_blocksize.
Add some MIDI stuff that will be used in the future.
1997-09-06 01:14:48 +00:00
thorpej
d2a9d1970d Don't deference a bad pointers if you try to open an audio device that's
not configured.
1997-08-27 18:54:28 +00:00
augustss
955e1e9119 Make sure audio device starts in half-duplex mode and document the fact. 1997-08-26 19:03:55 +00:00
augustss
6616d47838 - Change audio_hw_if a little: set_param now sets the play and record modes
at the same time instead by using two different calls.  This enables
  it to check more easily if the combined mode is all right.
- Improve the error checking in audio.c.
- Add a new audio property, AUDIO_PROP_INDEPENDENT, show if the
  play and record settings are independent.
- Fix some buglets in audio.c.
1997-08-24 22:31:23 +00:00
augustss
332ad95e76 Change the MI audio driver so it attaches to the MD driver in the
normal way.  This requires adding a line to the config files to
get audio to work again.
1997-08-19 23:49:33 +00:00
augustss
e5b75f05d4 Make a slight change to when blocksize, hi- and lo-water marks are
recalculated.  The new semantics is more intuitive(?) and makes Doom
work :-)
1997-08-18 23:20:09 +00:00
augustss
34085fae66 Implement /dev/audioctl. It behaves much like /dev/sound, but only
allows ioctl() and can be opened at any time.
1997-08-18 21:19:02 +00:00
augustss
8f096d087f Implement delivery of SIGIO on changes to /dev/mixer. 1997-08-11 01:38:12 +00:00
augustss
9a770a177f Make setting the audio block size sticky.
Change the calculated block size to correspond to 50 ms of sound
(was 20 ms, it seems needlessly small).
1997-08-08 00:03:26 +00:00
augustss
3c6f8bc89e Restructure a little to make sure AUDIO_FLUSH restarts the looping DMA. 1997-08-06 23:08:26 +00:00
fair
aae99e192d %x -> 0x%x 1997-08-06 07:39:59 +00:00
augustss
c392128002 Audio:
* Make it possible to use software assisted encodings that expand the
  sample size.
* Use 16 bits per sample when emulating mulaw coding on the SB.
* Prepare for SB16 without CT1745 mixer.
1997-08-04 09:29:51 +00:00
augustss
3bef8402d3 Implement FIONBIO in audio_ioctl. 1997-08-01 17:04:00 +00:00
augustss
658656bb99 Audio changes:
- Change the way attach and open works to allow multiple audio
	  devices.
	- Split the mulaw.c file into two to avoid dragging in mulaw
	  convertsion when they are not needed.  Add 16 bit alaw/mulaw tables.
	- Change the way audio properties are gotten.
	- Recognize more versions os SoundBlaster.
1997-07-31 22:33:08 +00:00
augustss
a63034762b Audio: Remove the machine dependant code I put in audio.c by mistake.
This adds another method to audio_hw_if.  Also remove a field from
audio_hw_if that was not read-only.
1997-07-28 20:56:05 +00:00
augustss
d5b1561c91 Temporary fix to make it compile on non-i386. 1997-07-28 09:28:04 +00:00
augustss
f6cd87f322 audio: Minor cleanup and enable looping DMA for PSS and PAS. 1997-07-28 01:31:50 +00:00
augustss
d58bc6796f audio: Simplify handling of AUDIO_SETFD and committing of encoding mode. 1997-07-27 23:51:48 +00:00
augustss
63decd9438 Fix divide by 0 bug in audio driver. 1997-07-27 23:06:04 +00:00
augustss
9745684ebe Changes to the sudio system:
- It is now possible to handle devices that want "looping" DMA,
    e.g. the SoundBlaster correctly.  The WSS and SB drivers use this.
    To do this several new methods were introduced in audio_hw_if.
  - Different silence handling (forced by previous change).
  - The audio driver can now be mmap()-ed, but due to problems in
    the VM system only for writing for now.
  - The OSS (Linux) audio emulation takes advantage of some of the
    new features.
1997-07-27 01:16:32 +00:00
augustss
8727da130b In the name of backwards compatibility AUDIO_ENCODING_LINEAR has been
renamed AUDIO_ENCODING_SLINEAR and AUDIO_ENCODING_LINEAR reverts to the
NetBSD 1.2 sematics.  A kernel with COMPAT_12 defined will accept
AUDIO_ENCODING_LINEAR and treat it as before, without COMPAT_12 it
will be rejected.
1997-07-15 07:46:04 +00:00
augustss
73ff4bd775 Allow more than one hardware driver to attach to the audio upper layer. 1997-05-27 23:24:56 +00:00
augustss
1fd29f4172 Make the audio default parameters into a globally accessible constant. 1997-05-20 12:51:43 +00:00
augustss
d7a82223f4 Change lowater calculation a little.
Fix mixer setting bug and add some missing splaudio().
Set SB drq16 to 5 and don't pretend to be SB v1.0.
1997-05-17 23:26:33 +00:00
augustss
4b487c00bd Clean up audio_silence_copyout(). 1997-05-11 00:41:12 +00:00
jtk
c7be49441e fix typo: LINEAR should have been ULINEAR 1997-05-10 19:01:53 +00:00
augustss
e63a553175 Change the interface between high and lowlevel audio drivers again:
Set the encoding parameters slightly differently.
Remove the SW encoding/decodinf functions from this interface
and move them to the audio_parameter struct; this is both more efficient
and flexible.
1997-05-09 22:16:27 +00:00
augustss
c397fa8357 Return audio buffer size in audio_info_t with ioctl() AUDIO_GETINFO.
Use the buffer size to implement one more OSS ioctl().
1997-05-07 19:24:25 +00:00
augustss
c4a52794f1 Convert to new orthogonal audio encoding scheme and implement
some of the new encodings.  The change to ioctl AUDIO_GETENC is
NOT backwards compatible.
1997-05-07 18:51:31 +00:00
kleink
269ccaa71b Fix typo in last commit; from Thorsten Frueauf <frueauf@ira.uka.de>
in PR/3566.
1997-05-01 12:27:10 +00:00
augustss
526ef2f618 Change the interface between the high and low level audio drivers
so that all audio encoding parameters are set at once.  This simplifies
the interface and make error checking easier.
1997-04-29 21:01:33 +00:00
pk
231a4bfb1f Remove bogus pointer cast.
Accept FIONBIO ioctls.
1997-04-19 21:25:43 +00:00
mycroft
2c6048e49f Make sure to recalculate the block size after changing the
sampling rate.  Also, nuke the global variable audio_blocksize.
1997-03-20 16:13:55 +00:00
mycroft
c1cc14fa25 Combine set_encoding and set_precision into a single set_format interface. 1997-03-20 06:48:48 +00:00
mycroft
8b4878a6ba Fill in silence-padded blocks so we don't get gaps. From PR 3357,
by Lennart Augustsson.
1997-03-20 03:19:53 +00:00
mycroft
b0c4e068d0 Modify audio_fill_silence() to take an encoding number rather than a softc*
and mode.
1997-03-13 02:45:07 +00:00
mycroft
ac3b8b13b7 Don't share the silence block between devices. Make silence filling work for
more encodings, and make it device-independent.  From Lennart Augustsson, in
PR kern/3305.
1997-03-13 02:19:32 +00:00
perry
1c47a4325b close 3079 from Jason Baker -- fixes a test in audio_poll 1997-01-18 04:02:58 +00:00
pk
39379f9a46 Reset `sc_async' on device close. 1996-11-01 23:05:45 +00:00
jtk
aa8449a9ef fix compile errors & warnings 1996-10-16 01:12:18 +00:00
christos
86373f8cf9 backout kprintf changes 1996-10-13 01:37:04 +00:00
christos
5d85fa8122 printf -> kprintf, sprintf -> ksprintf 1996-10-10 22:25:05 +00:00
mycroft
2bc736661a Implement poll(2). 1996-09-07 12:40:22 +00:00
mycroft
e1ea13d92a Fix typo. 1996-09-01 23:54:53 +00:00
mycroft
664a66d009 Add mmap method for audio devices.
XXX This is just a placeholder to avoid updating conf.h again.
Also, clean up some error values.
1996-09-01 21:33:43 +00:00
mycroft
4abbd9427d Remove intr.h for now. This requires more work. 1996-05-13 02:26:15 +00:00
mycroft
682960c500 Use intr.h on alpha and i386. 1996-05-13 01:01:55 +00:00
christos
1e2c047be7 - Don't use dev_conf.h
- Remove unnecessary prototypes
- Fix ioctl arguments
- Don't use kprintf(...TO_LOG...); directly. This does not set the log
  priority, and uses priority of the previous message. Use log() with %:
1996-03-30 22:51:23 +00:00
mycroft
5c3bc6f120 Use %p as appropriate. 1996-03-29 00:11:42 +00:00
christos
e023a87a11 Bring prototypes into scope. 1996-03-14 19:05:07 +00:00
christos
d318abdbc4 prototypes for ccd audio and ncr5380 1996-03-07 15:00:07 +00:00
mycroft
d1b5c90fd6 Check for errors while changing gain. 1996-02-20 11:47:22 +00:00
mycroft
5f732f379e Trivial (and probably not very good) implementation of SIGIO. 1996-02-20 10:00:31 +00:00
jtk
4f3fc10939 Fix PR#2060 (add AUDIO_PERROR ioctl to query # of playback drops), also
fix semantics of AUDIO_WERROR (now returns a count).

Also repair audio driver back to "real-time mode" where user must
provide data quickly enough for real time audio or silence is played
until user catches up.  Add optional "play all" mode (additional bit in
mode field) to play all samples provided, with silence when needed to
avoid buffer underrun.
1996-02-17 02:28:56 +00:00
mycroft
8ba7909bb4 Eliminate sc_silence, and handle output interrupts somewhat differently.
From John Kohl, slightly edited.
1996-02-16 02:25:43 +00:00
mycroft
47246947c7 Adjust the low and high watermarks. Based on a suggestion from Lennart
Augustsson.
1996-02-08 03:05:34 +00:00
scottr
186d69c204 Don't adjust the number of blocks in the ring buffer if the driver
is currently outputting silence.  Fix from Lennart Augustsson
<augustss@cs.chalmers.se>, closes PR #2010.
1996-02-05 21:11:10 +00:00
mycroft
0b6a86dfe5 Make the block size always a whole number of samples. 1996-01-07 06:21:02 +00:00
pk
de0584fa25 Avoid zero blocksize (from David Huang; PR#1770). 1996-01-05 13:16:30 +00:00
cgd
13bf4371ae delete extra (blank) line in comment block 1995-11-24 23:45:40 +00:00
brezak
693043d786 GUS audio driver from John Kohl. 1995-07-19 19:58:09 +00:00
brezak
0589b5a222 Make mode a flag set. Full-dpulex fixes from John Kohl. 1995-07-07 01:52:30 +00:00
brezak
cea924779e call hw->setfd with param not ptr to it 1995-06-04 15:33:50 +00:00
brezak
c68110e043 Remove strings 1995-05-08 22:01:34 +00:00
brezak
2d93a58abd Don't call hardware close in mixer_close(). From Rolf Grossmann <grossman@informatik.tu-muenchen.de> 1995-05-08 17:42:07 +00:00
brezak
f5675abf16 Set mixer type for rec and play level set. PR#1027 1995-05-08 16:06:38 +00:00
brezak
8951a20fe2 Auto-select open mode when opened half-duplex. From John Kohl. PR#1006 1995-05-05 22:36:14 +00:00
pk
30f71c550f A couple of fixes frm Rolf Grossmann. 1995-04-24 19:13:52 +00:00
mycroft
fa37f29dc8 Make some functions non-static. 1995-04-17 23:04:31 +00:00