Up to [local] / src / usr.bin / aucat
Request diff between arbitrary revisions
Default branch: MAIN
Revision 1.15, Wed Jan 21 08:43:55 2015 UTC (9 years, 4 months ago) by ratchov
Branch: MAIN
CVS Tags: HEAD
Changes since 1.14: +1 -1 lines
FILE REMOVED
Simplify internals and rewrite file header parsing code: - remove -M, -t, -w, -C, -x flags that don't make sense anymore - make "-j off" the default (sndiod already does the job) - don't limit the number of played/recorded files. - add support for floating-point encoded files. - add support for apple .aiff and sun/next .au files
Revision 1.14 / (download) - annotate - [selected], Wed Apr 11 06:05:43 2012 UTC (12 years, 2 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_5_6_BASE,
OPENBSD_5_6,
OPENBSD_5_5_BASE,
OPENBSD_5_5,
OPENBSD_5_4_BASE,
OPENBSD_5_4,
OPENBSD_5_3_BASE,
OPENBSD_5_3,
OPENBSD_5_2_BASE,
OPENBSD_5_2
Changes since 1.13: +11 -11 lines
Diff to previous 1.13 (colored)
Use "unsigned int" rather than "unsigned". No object change. suggested by deraadt@
Revision 1.13 / (download) - annotate - [select for diffs], Thu Mar 29 20:08:22 2012 UTC (12 years, 2 months ago) by ratchov
Branch: MAIN
Changes since 1.12: +2 -1 lines
Diff to previous 1.12 (colored) to selected 1.14 (colored)
Don't spin if accept() fails because it is out of file descriptors, instead set a flag that skips the listening socket from the poll() event loop. The flag is cleared whenever a file descriptor is closed allowing accept() to be retried. Explained by deraadt@
Revision 1.12 / (download) - annotate - [select for diffs], Sun Nov 20 22:54:51 2011 UTC (12 years, 6 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_5_1_BASE,
OPENBSD_5_1
Changes since 1.11: +2 -2 lines
Diff to previous 1.11 (colored) to selected 1.14 (colored)
Move mmc/mtc and volume control bits from struct aproc to struct dev. Allows volume settings to be saved while the device is kept closed. Besides that, no behabiour changes.
Revision 1.11 / (download) - annotate - [select for diffs], Mon Jun 27 07:22:00 2011 UTC (12 years, 11 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_5_0_BASE,
OPENBSD_5_0
Changes since 1.10: +5 -1 lines
Diff to previous 1.10 (colored) to selected 1.14 (colored)
Display the CPU usage when -ddddd is used, ie the time spent on calculations compared to the time spend on sleeping in poll().
Revision 1.10 / (download) - annotate - [select for diffs], Tue Jul 6 20:06:35 2010 UTC (13 years, 11 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_4_9_BASE,
OPENBSD_4_9,
OPENBSD_4_8_BASE,
OPENBSD_4_8
Changes since 1.9: +5 -1 lines
Diff to previous 1.9 (colored) to selected 1.14 (colored)
Try to detect busy loops caused by misbehaving audio drivers or hardware. If a busy loop is found, then close the device that caused the loop.
Revision 1.9 / (download) - annotate - [select for diffs], Sun Sep 27 11:51:20 2009 UTC (14 years, 8 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_4_7_BASE,
OPENBSD_4_7
Changes since 1.8: +2 -1 lines
Diff to previous 1.8 (colored) to selected 1.14 (colored)
remove all debug traces
Revision 1.8 / (download) - annotate - [select for diffs], Sat Jul 25 10:52:19 2009 UTC (14 years, 10 months ago) by ratchov
Branch: MAIN
Changes since 1.7: +1 -3 lines
Diff to previous 1.7 (colored) to selected 1.14 (colored)
fix comments, remove no longer needed declaration, reorder includes from Thomas Pfaff
Revision 1.7 / (download) - annotate - [select for diffs], Sat Jul 25 08:44:27 2009 UTC (14 years, 10 months ago) by ratchov
Branch: MAIN
Changes since 1.6: +15 -2 lines
Diff to previous 1.6 (colored) to selected 1.14 (colored)
Currently midi capable programs can control midi hardware, but cannot cooperate with other programs. The aim of this change is to allow any program to send midi data to other programs as they were midi hardware. For instance, this change should solve the longstanding problem of using a midi sequencer with software synthesizers. More precisely: - new midicat(1) utility (actually hardlink to aucat(1)). it creates software midi thru boxes, allowing programs to send midi messages to other programs as they were midi(4) hardware. - new midi api in libsndio (see mio_open(3)), to access midi(4) devices and midicat(1) sockets in a uniform way. - new device naming scheme <service>:<unit>[.<option>], common to audio and midi. - new sndio(7) manual describing concepts and naming The current audio device naming still works, but people having scripts or configuration files containing device names could read the sndio(7) man page and slowly start updating device names. discussed with jakemsr@ and deraadt@, help form jmc@
Revision 1.6 / (download) - annotate - [select for diffs], Fri Jan 23 17:38:15 2009 UTC (15 years, 4 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_4_6_BASE,
OPENBSD_4_6,
OPENBSD_4_5_BASE,
OPENBSD_4_5
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored) to selected 1.14 (colored)
spacing + typo fix from Matt Jibson <matt.jibson(at)gmail.com>
Revision 1.5 / (download) - annotate - [select for diffs], Mon Dec 29 17:59:08 2008 UTC (15 years, 5 months ago) by ratchov
Branch: MAIN
Changes since 1.4: +2 -1 lines
Diff to previous 1.4 (colored) to selected 1.14 (colored)
make the code "more correct": add reference counters to aproc structures so we can keep a pointer to the device. Beside some simplifications, this allows to easily handle the situation where the audio device desappears. No change in the behaviour.
Revision 1.4 / (download) - annotate - [select for diffs], Sun Oct 26 08:49:44 2008 UTC (15 years, 7 months ago) by ratchov
Branch: MAIN
Changes since 1.3: +27 -34 lines
Diff to previous 1.3 (colored) to selected 1.14 (colored)
add minimal server capability to aucat(1). When started in server mode, it listens on an unix socket and mixes/demultiplexes any number of full-duplex streams, doing necessary format conversions and resampling on the fly. programs can use the new libsa(3) library to play and record audio. The library provides a very simple API to connect to the audio server; if aucat(1) isn't running, it uses the audio(4) driver transparently instead.
Revision 1.3 / (download) - annotate - [select for diffs], Thu Aug 14 09:58:55 2008 UTC (15 years, 9 months ago) by ratchov
Branch: MAIN
Changes since 1.2: +11 -2 lines
Diff to previous 1.2 (colored) to selected 1.14 (colored)
move all device related stuff from aucat.c to a new dev.c file. The new dev_xxx() routines expose a "high level" self-contained interface to the device. At initialization, the device is opened and two chains of aproc structures are created: * a playback chain that exposes a (initially) empty mix aproc to which the rest of the code can attach new streams to be played * record chain that exposes a (initially) empty sub aproc to which the rest of the code can attach new stream to to record The rest of the code, has just to use dev_attach() routine to attach streams. While we're at it, add a ``devops'' structure containing pointers to the device-specific routines. This will allow later to add support for other type of device than the Sun API. Also, write the .wav headers in file_del(), so put all header related data in the file strucuture. This allows to close() the file, as soon as wpipe_xxx() aproc terminates. This will be useful for the server, because it will need to close() descripts of closed connections immediately. add mix_pushzero() routine to fill the mixer with silence. It will be used to avoid the mixer to underrun when there are no input streams. Since we always have at least one input stream there's no behaviour change. ok jakemsr
Revision 1.2 / (download) - annotate - [select for diffs], Mon Jun 2 17:05:12 2008 UTC (16 years ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_4_4_BASE,
OPENBSD_4_4
Changes since 1.1: +1 -3 lines
Diff to previous 1.1 (colored) to selected 1.14 (colored)
since underruns/overruns are handled outside devices, remove code that check for xruns in devices. ok jakemsr
Revision 1.1 / (download) - annotate - [select for diffs], Fri May 23 07:15:46 2008 UTC (16 years ago) by ratchov
Branch: MAIN
Diff to selected 1.14 (colored)
add support for: - recording, full-duplex operation - format conversions and resampling on the fly - mixing on the fly of multiple inputs of different formats - up to 16 channels, simplistic "routing" of channel ranges - more linear encodings (in raw and wav files) the old behaviour is fully preserved if none of the new -i and -o options are used. code and fixes from jakemsr@ and eric@, suggestions by others. ok "go ahead" deraadt@