Home | History | Annotate | Download | only in common
History log of /src/usr.bin/audio/common/audio.c
RevisionDateAuthorComments
 1.27  27-Feb-2024  gson Clean up lines containing only tabs.
 1.26  09-Nov-2019  mrg branches: 1.26.8;
add support for playing IEEE float32 and float64 RIFF WAVE
samples on platforms that have these types natively, and
can handle signed linear 32 bit samples. explicitly
disabled on vax, run-or-compile-time sizeof() check
disabled for everyone else

now i can play a float32 .wav file i found.
float64 not tested.

copyright maint, update HISTORY, update audio drivers list.
 1.25  05-Aug-2015  mrg branches: 1.25.8; 1.25.16; 1.25.18;
rename struct write_info as struct track_info, and the variable name 'wi'
as 'ti', as this info is useful for reading as well.
 1.24  21-Jun-2015  mrg separate the 3 functions midirecord uses from libaudio.a into its own
file and link it directly, instead of having an (implicit) dependancy
on usr.bin/audio/common being built before usr.bin/midirecord is linked.
 1.23  30-Dec-2014  mrg add a decode_uint() function.
 1.22  30-Aug-2013  mrg branches: 1.22.4;
move most of the header writing code from record.c into wav.c and sun.c.

introduce a struct write_info for communication between front ends and
backends.

libaudio API is still pretty ugly, and needs to stay local here for now,
but it is a little more usable for other tools now.
 1.21  06-Sep-2011  jmcneill branches: 1.21.2; 1.21.8;
recognize AUDIO_ENCODING_AC3
 1.20  28-Aug-2011  joerg ANSIfy. Add static. Add __dead.
 1.19  29-May-2008  mrg remove clause #3 from my license where there are no other
copyright holders involved.
 1.18  30-Oct-2004  dsl branches: 1.18.26; 1.18.28;
Add (unsigned char) cast to ctype functions
 1.17  23-Jun-2003  agc Add NetBSD RCS Ids.
 1.16  27-Dec-2002  mrg - decode_int(): always use base 10, so that a time of "1:09" works.
- decode_time(): 60 seconds in a minute, really.
both from tsarna@netbsd.org.

- be verbose about the time we are going to record for, if verbose.
 1.15  15-Jan-2002  mrg - WARNS=3 (from ross@netbsd.org)
- fix a bug in WAV conversions
 1.14  15-Jan-2002  mrg - add rudimentary "wav" recording support: don't think it copes with
big-endian systems properly yet -- need to add RIFX support or swap
samples while writing. more on this coming soon.

- new "-F <format>" option for audiorecord. supported values of <format>
are "sun", "wav" and "none", plus a few aliases.

- split sun & wav support out into their own files.

- don't assume that WAV header elements are properly aligned for the
type of data they hold.

XXX: still need to clean up libaudio interfaces a lot.
 1.13  01-Jan-2002  mrg fix 2001/03/04 change: audio_parse_wav_hdr() returns a signed value.
 1.12  07-Jun-2001  mrg fix bug in audiorecord -t handling.
 1.11  04-Mar-2001  hubertf Don't play trailing garbage at end of RIFF WAVE (.wav) files
Patch sent by YAMAMOTO Takashi <takashi.yamamoto@bigfoot.com> in PR 12328
 1.10  13-Dec-2000  mrg libaudio:
- rename audio_get_sun_encoding() to audio_sun_to_encoding()
- add audio_encoding_to_sun()
play.c:
- adapt
record.c:
- convert NetBSD encoding to sun encoding if possible, otherwise don't
output a header at all.
fixes PR#10380 from Michael Eriksson <eramore@era-t.ericsson.se>.
 1.9  27-Sep-1999  mrg branches: 1.9.6;
fix off-by-one error in error message array. add a comment.
 1.8  13-Sep-1999  tron branches: 1.8.2;
Use "NULL" instead of "0" for null pointer.
 1.7  30-Mar-1999  mrg branches: 1.7.2;
remove duplicate include of <stdio.h>
 1.6  29-Mar-1999  mycroft Only 8-bit data is unsigned in WAVE files.
 1.5  29-Mar-1999  mrg .wav files are little endian.
 1.4  27-Mar-1999  mrg make recording precision/encoding setting sane.
 1.3  27-Mar-1999  mrg add support to play stdin.
 1.2  26-Mar-1999  mrg add missing copyrights.
 1.1  26-Mar-1999  mrg add audiorecord and audioplay tools. audioplay does .au and .wav files. audiorecord makes .au files only. uses parts of audioctl..
 1.7.2.1  27-Sep-1999  cgd pull up rev 1.9 from trunk (requested by mrg):
Fix an off-by-one error in the error message array.
 1.8.2.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.9.6.2  29-Jan-2002  he Pull up revisions 1.10,1.12-1.15 (via patch, requested by mrg):
Bring in several fixes and enhancements to these tools:
o fix stdin audioplay
o add WAV support to audiorecord
o allows any host to output any endian sample
o don't output a bogus header
o fix a bug in audiorecord -t
o many manual page fixes
o exit immediately on signals
 1.9.6.1  11-Mar-2001  he Pull up revision 1.11 (via patch, requested by hubertf):
Do not play trailing garbage at the end of RIFF WAVE (.wav) files.
Fixes PR#12328.
 1.18.28.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.18.26.1  04-Jun-2008  yamt sync with head
 1.21.8.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.21.2.1  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.22.4.1  12-Jan-2015  martin Pull up following revision(s) (requested by mrg in ticket #409):
usr.bin/audio/common/audio.c: revision 1.23
usr.bin/audio/common/libaudio.h: revision 1.19
add a decode_uint() function.
 1.25.18.1  12-Mar-2024  martin Pull up the following revisions, requested by mrg in ticket #1818:

usr.bin/audio/common/auconv.h up to 1.6
usr.bin/audio/common/audio.c up to 1.27
usr.bin/audio/common/decode.c up to 1.2
usr.bin/audio/common/libaudio.h up to 1.22
usr.bin/audio/common/sun.c up to 1.11
usr.bin/audio/common/wav.c up to 1.22
usr.bin/audio/ctl/audioctl.1 up to 1.25
usr.bin/audio/play/audioplay.1 up to 1.34
usr.bin/audio/play/play.c up to 1.64
usr.bin/audio/record/audiorecord.1 up to 1.45
usr.bin/audio/record/record.c up to 1.58

- support for playing 32-bit and 64-bit IEEE FP .wav files
- support for recording 24 bit .wav files
- read-overflow fixes for .wav files, and other fixes for the
wav parser
- audioplay gains -n flag (no play, like make -n)
- audioctl manual spruced up
- audiorecord manual gained useful examples
 1.25.16.1  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.25.8.1  12-Mar-2024  martin Pull up the following revisions, requested by mrg in ticket #1948:

usr.bin/audio/common/auconv.h up to 1.6
usr.bin/audio/common/audio.c up to 1.27
usr.bin/audio/common/decode.c up to 1.2
usr.bin/audio/common/libaudio.h up to 1.22
usr.bin/audio/common/sun.c up to 1.11
usr.bin/audio/common/wav.c up to 1.22
usr.bin/audio/play/audioplay.1 up to 1.34
usr.bin/audio/play/play.c up to 1.64
usr.bin/audio/record/audiorecord.1 up to 1.45
usr.bin/audio/record/record.c up to 1.58

- support for playing 32-bit and 64-bit IEEE FP .wav files
- support for recording 24 bit .wav files
- read-overflow fixes for .wav files, and other fixes for the
wav parser
- audioplay gains -n flag (no play, like make -n)
- audiorecord manual gained useful examples
 1.26.8.1  12-Mar-2024  martin Pull up the following revisions, requested by mrg in ticket #634:

usr.bin/audio/common/auconv.h up to 1.6
usr.bin/audio/common/audio.c up to 1.27
usr.bin/audio/common/decode.c up to 1.2
usr.bin/audio/common/libaudio.h up to 1.22
usr.bin/audio/common/sun.c up to 1.11
usr.bin/audio/common/wav.c up to 1.22
usr.bin/audio/play/audioplay.1 up to 1.34
usr.bin/audio/play/play.c up to 1.64
usr.bin/audio/record/audiorecord.1 up to 1.45
usr.bin/audio/record/record.c up to 1.58

- support for recording 24 bit .wav files
- read-overflow fixes for .wav files, and other fixes for the
wav parser
- audioplay gains -n flag (no play, like make -n)

RSS XML Feed