Commit Graph

136 Commits

Author SHA1 Message Date
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