Up to [local] / src / usr.bin / aucat
Request diff between arbitrary revisions
Default branch: MAIN
Revision 1.31 / (download) - annotate - [select for diffs], Mon Dec 26 19:16:00 2022 UTC (17 months, 2 weeks ago) by jmc
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE,
OPENBSD_7_5,
OPENBSD_7_4_BASE,
OPENBSD_7_4,
OPENBSD_7_3_BASE,
OPENBSD_7_3,
HEAD
Changes since 1.30: +2 -2 lines
Diff to previous 1.30 (colored) to selected 1.15 (colored)
spelling fixes; from paul tagliamonte amendments to his diff are noted on tech
Revision 1.30 / (download) - annotate - [select for diffs], Tue Jan 3 07:33:22 2017 UTC (7 years, 5 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_7_2_BASE,
OPENBSD_7_2,
OPENBSD_7_1_BASE,
OPENBSD_7_1,
OPENBSD_7_0_BASE,
OPENBSD_7_0,
OPENBSD_6_9_BASE,
OPENBSD_6_9,
OPENBSD_6_8_BASE,
OPENBSD_6_8,
OPENBSD_6_7_BASE,
OPENBSD_6_7,
OPENBSD_6_6_BASE,
OPENBSD_6_6,
OPENBSD_6_5_BASE,
OPENBSD_6_5,
OPENBSD_6_4_BASE,
OPENBSD_6_4,
OPENBSD_6_3_BASE,
OPENBSD_6_3,
OPENBSD_6_2_BASE,
OPENBSD_6_2,
OPENBSD_6_1_BASE,
OPENBSD_6_1
Changes since 1.29: +1 -1 lines
Diff to previous 1.29 (colored) to selected 1.15 (colored)
Assert we're not freeing buffers we didn't allocate (DEBUG mode).
Revision 1.29 / (download) - annotate - [select for diffs], Fri Sep 30 08:43:23 2016 UTC (7 years, 8 months ago) by ratchov
Branch: MAIN
Changes since 1.28: +1 -3 lines
Diff to previous 1.28 (colored) to selected 1.15 (colored)
Remove unnecessary includes. From Michael W. Bombardieri <mb at ii.net>.
Revision 1.28 / (download) - annotate - [select for diffs], Sun Jan 10 11:06:44 2016 UTC (8 years, 5 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_6_0_BASE,
OPENBSD_6_0,
OPENBSD_5_9_BASE,
OPENBSD_5_9
Changes since 1.27: +1 -1 lines
Diff to previous 1.27 (colored) to selected 1.15 (colored)
trailing spaces, fit in 80 columns
Revision 1.27 / (download) - annotate - [select for diffs], Mon Nov 9 14:44:23 2015 UTC (8 years, 7 months ago) by mmcc
Branch: MAIN
Changes since 1.26: +2 -2 lines
Diff to previous 1.26 (colored) to selected 1.15 (colored)
Remove xfree(). From Michael W. Bombardieri. ok ratchov@
Revision 1.26 / (download) - annotate - [select for diffs], Wed Jan 21 08:43:55 2015 UTC (9 years, 4 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_5_8_BASE,
OPENBSD_5_8,
OPENBSD_5_7_BASE,
OPENBSD_5_7
Changes since 1.25: +50 -537 lines
Diff to previous 1.25 (colored) to selected 1.15 (colored)
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.25 / (download) - annotate - [select for diffs], Mon Nov 18 17:37:45 2013 UTC (10 years, 6 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_5_6_BASE,
OPENBSD_5_6,
OPENBSD_5_5_BASE,
OPENBSD_5_5
Changes since 1.24: +7 -1 lines
Diff to previous 1.24 (colored) to selected 1.15 (colored)
add missing prototypes
Revision 1.24 / (download) - annotate - [select for diffs], Wed Apr 11 06:05:43 2012 UTC (12 years, 2 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_5_4_BASE,
OPENBSD_5_4,
OPENBSD_5_3_BASE,
OPENBSD_5_3,
OPENBSD_5_2_BASE,
OPENBSD_5_2
Changes since 1.23: +9 -9 lines
Diff to previous 1.23 (colored) to selected 1.15 (colored)
Use "unsigned int" rather than "unsigned". No object change. suggested by deraadt@
Revision 1.23 / (download) - annotate - [select for diffs], Wed Oct 12 07:20:03 2011 UTC (12 years, 8 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_5_1_BASE,
OPENBSD_5_1
Changes since 1.22: +2 -2 lines
Diff to previous 1.22 (colored) to selected 1.15 (colored)
Simplify and improve the way options are parsed and remove ~300 lines of code that becomes unused. Few command line arguments changes are required though: - stream definitions (-ios) now must follow devices definitions they are attached to (-fMn) - the -n option is now a special "loopback" device and is thus used like -f, eg it must precede streams - in midicat, midi thru boxes are not created automatically anymore, the new "-M" option must be used for that - channel numbers (-Cc options) correspond always to channel numbers of the hardware. - the -u option isn't needed anymore - increase the log verbosity so user errors are logged without using -d tested by many, help from jmc
Revision 1.22 / (download) - annotate - [select for diffs], Fri Jun 4 06:15:28 2010 UTC (14 years ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_5_0_BASE,
OPENBSD_5_0,
OPENBSD_4_9_BASE,
OPENBSD_4_9,
OPENBSD_4_8_BASE,
OPENBSD_4_8
Changes since 1.21: +13 -1 lines
Diff to previous 1.21 (colored) to selected 1.15 (colored)
Allow the audio device to be opened only while it's actually used. This is necessary for uaudio devices, for instance to start aucat before the device is plugged. Or to unplug a device whithout having to restart aucat when another device is plugged. This is controlled with the new -a option. Allow multiple audio devices to be used concurently, i.e. multiple ``-f devname'' options to be used; -f options must follow per-device options, which is what we do for other options.
Revision 1.21 / (download) - annotate - [select for diffs], Tue Apr 6 20:07:01 2010 UTC (14 years, 2 months ago) by ratchov
Branch: MAIN
Changes since 1.20: +20 -91 lines
Diff to previous 1.20 (colored) to selected 1.15 (colored)
aucat (server): - make the ``-m mode'' option per subdevice, allowing subdevices to be play-only or rec-only even if the server is full-duplex - add ``monitoring'' mode (with ``-m mon''). This is a record-only stream from which played streams can be recorded (kind of ``record what you hear''). - allow MIDI devices to be subscribed to the controlling MIDI port of the server, ie what midicat does (with -f option), but using the -q option. - add flow control to the protocol, and serialize clock ticks (sio_onmove() calls) and data chunks. This should fix certain full-duplex programs, broken with ``magic'' block/buffer size combinations. - enable 3 block latency which is the minimum theoretical. Make -z and -b options correspond to device parameters. - make sio_getcap(3) the same for aucat and sun backends, ie return whatever is supported (``everything'' in the aucat case, since everything is actulally supported). aucat (player): - enable ``-m mode'' option to select between monitoring and recording when ``-o file'' is used. - plug MIDI code to non-server codepath. The MIDI control device is specified with the ``-q device'' option, as in server mode. - impliment lseek()'ing within files (controlled through MIDI). Necessary to use aucat with a MIDI sequencer. midicat (thrubox): - rename ``-f'' flag to ``-q'', so it has the same name as in aucat (-f is still working) ok jakemsr@, tweaks from jmc@
Revision 1.20 / (download) - annotate - [select for diffs], Sat Apr 3 17:59:17 2010 UTC (14 years, 2 months ago) by ratchov
Branch: MAIN
Changes since 1.19: +90 -19 lines
Diff to previous 1.19 (colored) to selected 1.15 (colored)
backout last change, committed by mistake, sorry...
Revision 1.19 / (download) - annotate - [select for diffs], Sat Apr 3 17:40:33 2010 UTC (14 years, 2 months ago) by ratchov
Branch: MAIN
Changes since 1.18: +20 -91 lines
Diff to previous 1.18 (colored) to selected 1.15 (colored)
doc fixes from jmc
Revision 1.18 / (download) - annotate - [select for diffs], Mon Jan 11 13:06:32 2010 UTC (14 years, 5 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_4_7_BASE,
OPENBSD_4_7
Changes since 1.17: +2 -2 lines
Diff to previous 1.17 (colored) to selected 1.15 (colored)
When resuming from suspend, prime play buffers with silence, otherwise the client would underrun by more than its own buffer size, which currently is not allowed (causes the client to deadlock). Set the minimum client buffer size to two blocks. Single block buffers don't work properly yet. with help from jakemsr
Revision 1.17 / (download) - annotate - [select for diffs], Sun Jan 10 21:47:41 2010 UTC (14 years, 5 months ago) by ratchov
Branch: MAIN
Changes since 1.16: +245 -1 lines
Diff to previous 1.16 (colored) to selected 1.15 (colored)
Add traces to help tracking subtle timing bugs often causing underuns and overruns; such bugs are hard to debug with ktrace or a debugger. They are also handy to debug or monitor code using aucat. To enable traces, compile aucat with ``make DEBUG=-DDEBUG'' and use the -d option multiple times. ok jakemsr
Revision 1.16 / (download) - annotate - [select for diffs], Fri Oct 9 16:49:48 2009 UTC (14 years, 8 months ago) by ratchov
Branch: MAIN
Changes since 1.15: +3 -4 lines
Diff to previous 1.15 (colored)
Make abuf structure smaller: - put aproc-specific parameters into unions since they are never used together - remove constant ``data'' pointer always pointing the end of the abuf structure
Revision 1.15 / (download) - annotate - [selected], Sun Sep 27 11:51:20 2009 UTC (14 years, 8 months ago) by ratchov
Branch: MAIN
Changes since 1.14: +10 -106 lines
Diff to previous 1.14 (colored)
remove all debug traces
Revision 1.14 / (download) - annotate - [select for diffs], Fri Aug 21 16:48:03 2009 UTC (14 years, 9 months ago) by ratchov
Branch: MAIN
Changes since 1.13: +10 -1 lines
Diff to previous 1.13 (colored) to selected 1.15 (colored)
make aucat(1) expose a MIDI device to control server behaviour in realtime. For now only the playback volume of individual streams can be changed/monitored. To each stream is assigned a MIDI channel; the volume is changed/monitored using the standard controller number 7.
Revision 1.13 / (download) - annotate - [select for diffs], Sat Jul 25 10:52:18 2009 UTC (14 years, 10 months ago) by ratchov
Branch: MAIN
Changes since 1.12: +14 -15 lines
Diff to previous 1.12 (colored) to selected 1.15 (colored)
fix comments, remove no longer needed declaration, reorder includes from Thomas Pfaff
Revision 1.12 / (download) - annotate - [select for diffs], Sun Jul 19 15:49:48 2009 UTC (14 years, 10 months ago) by martynas
Branch: MAIN
Changes since 1.11: +2 -1 lines
Diff to previous 1.11 (colored) to selected 1.15 (colored)
missing va_end in abuf_dprn. ok ratchov@
Revision 1.11 / (download) - annotate - [select for diffs], Fri Feb 13 20:48:49 2009 UTC (15 years, 3 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.10: +2 -2 lines
Diff to previous 1.10 (colored) to selected 1.15 (colored)
style and typos fixes from Thomas Pfaff
Revision 1.10 / (download) - annotate - [select for diffs], Fri Jan 23 17:38:15 2009 UTC (15 years, 4 months ago) by ratchov
Branch: MAIN
Changes since 1.9: +6 -6 lines
Diff to previous 1.9 (colored) to selected 1.15 (colored)
spacing + typo fix from Matt Jibson <matt.jibson(at)gmail.com>
Revision 1.9 / (download) - annotate - [select for diffs], Sun Nov 9 16:26:07 2008 UTC (15 years, 7 months ago) by ratchov
Branch: MAIN
Changes since 1.8: +15 -1 lines
Diff to previous 1.8 (colored) to selected 1.15 (colored)
make aucat(1) stop automatically the audio(1) device if it's idle. This way, when in server mode, it consumes no CPU if there are no clients. Later, this will allow to start aucat(1) at session or system startup.
Revision 1.8 / (download) - annotate - [select for diffs], Mon Nov 3 22:25:13 2008 UTC (15 years, 7 months ago) by ratchov
Branch: MAIN
Changes since 1.7: +7 -3 lines
Diff to previous 1.7 (colored) to selected 1.15 (colored)
A small optimization: handle most N-channel <-> M-channel conversions inside the mixer and the demultiplexer. This way, aucat will not trigger the heavy conversion code when only channel conversions are required. Cuts ~50% of the CPU usage on envy(4) devices, can improve surround 4.0, 5.1 and 7.1 capable devices. No functionnal change.
Revision 1.7 / (download) - annotate - [select for diffs], Sun Oct 26 08:49:43 2008 UTC (15 years, 7 months ago) by ratchov
Branch: MAIN
Changes since 1.6: +246 -81 lines
Diff to previous 1.6 (colored) to selected 1.15 (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.6 / (download) - annotate - [select for diffs], Thu Aug 14 10:02:10 2008 UTC (15 years, 9 months ago) by ratchov
Branch: MAIN
Changes since 1.5: +3 -1 lines
Diff to previous 1.5 (colored) to selected 1.15 (colored)
in abuf_rgetblk() the ``start'' pointer may take a value beyond the end of the buffer because periodic boundary conditions of the FIFO are not met ok jakemsr
Revision 1.5 / (download) - annotate - [select for diffs], Thu Aug 14 09:46:36 2008 UTC (15 years, 9 months ago) by ratchov
Branch: MAIN
Changes since 1.4: +3 -1 lines
Diff to previous 1.4 (colored) to selected 1.15 (colored)
add a bytes counter to abuf structures to count the number of bytes that entered the FIFO. The counter may overflow, so it should be used with "modulo 2^32" arithmetic. The counter will be used later to synchronize playback to record. No behaviour change. ok jakemsr
Revision 1.4 / (download) - annotate - [select for diffs], Thu Aug 14 09:44:15 2008 UTC (15 years, 9 months ago) by ratchov
Branch: MAIN
Changes since 1.3: +61 -12 lines
Diff to previous 1.3 (colored) to selected 1.15 (colored)
move mix/sub underrun/overrun handling code and data in the generic abuf structure, so it can reused. Required for an audio server. No behaviour change. ok jakemsr
Revision 1.3 / (download) - annotate - [select for diffs], Thu Aug 14 09:39:16 2008 UTC (15 years, 9 months ago) by ratchov
Branch: MAIN
Changes since 1.2: +22 -7 lines
Diff to previous 1.2 (colored) to selected 1.15 (colored)
factor code that discards data from abuf strucure into a single abuf_rdiscard() routine. Similarly add abuf_wcommit() routine for writing. The purpose is to stop manupulating FIFO pointers in various places outiside abuf.c, its too error prone. No behaviour change. ok jakemsr
Revision 1.2 / (download) - annotate - [select for diffs], Sun May 25 21:16:37 2008 UTC (16 years ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_4_4_BASE,
OPENBSD_4_4
Changes since 1.1: +2 -1 lines
Diff to previous 1.1 (colored) to selected 1.15 (colored)
give argument to LIST_END(), don't use variable lenght arrays as last field of structures. from deraadt@
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.15 (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@