OpenBSD CVS

CVS log for src/usr.bin/aucat/aucat.c


[BACK] Up to [local] / src / usr.bin / aucat

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.182 / (download) - annotate - [select for diffs], Fri Mar 22 06:20:48 2024 UTC (8 weeks, 2 days ago) by ratchov
Branch: MAIN
CVS Tags: HEAD
Changes since 1.181: +38 -13 lines
Diff to previous 1.181 (colored)

aucat: Allow any device sample encoding.

If the device doesn't support the aucat internal encoding,
then setup a conversion layer instead of failing. This allows
aucat to be used for audio equipment testing/debugging
without involving the full sndiod processing chain.

Revision 1.181 / (download) - annotate - [select for diffs], Fri Mar 22 06:06:06 2024 UTC (8 weeks, 2 days ago) by ratchov
Branch: MAIN
Changes since 1.180: +11 -11 lines
Diff to previous 1.180 (colored)

aucat: Add a bytes-per-sample argument to allcobuf()

No behavior change.

Revision 1.180 / (download) - annotate - [select for diffs], Wed Mar 20 08:42:11 2024 UTC (8 weeks, 4 days ago) by ratchov
Branch: MAIN
Changes since 1.179: +169 -79 lines
Diff to previous 1.179 (colored)

aucat: Add generic channel mapping in place of -j and -c options.

The argument to the -m option specifies the source and destination
channel ranges to be mapped. Compatibility is maintained: if -m
is not used, the -c and -j options still work.

Help and suggestions from Jan Stary <hans@stare.cz>, thanks.

Revision 1.179 / (download) - annotate - [select for diffs], Thu Feb 1 05:28:54 2024 UTC (3 months, 2 weeks ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5
Changes since 1.178: +6 -3 lines
Diff to previous 1.178 (colored)

aucat: Fix MIDI control of the levels of individual files

Change the order of slot_list to match the order of the -io options on
the command-line and fix the way slot_list searched using the MIDI
channel number of the CC-07 message.

Reported and analysed by Dirk-Wilhelm Peters <peters at schwertfisch.de>

Thanks!

Revision 1.178 / (download) - annotate - [select for diffs], Mon Mar 7 09:04:45 2022 UTC (2 years, 2 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_7_4_BASE, OPENBSD_7_4, OPENBSD_7_3_BASE, OPENBSD_7_3, OPENBSD_7_2_BASE, OPENBSD_7_2, OPENBSD_7_1_BASE, OPENBSD_7_1
Changes since 1.177: +5 -1 lines
Diff to previous 1.177 (colored)

Switch internal sample representation to 24-bit fixed-point

Note that this also changes the default file encoding to 24-bit.

Revision 1.177 / (download) - annotate - [select for diffs], Tue Jan 12 15:46:53 2021 UTC (3 years, 4 months ago) by naddy
Branch: MAIN
CVS Tags: OPENBSD_7_0_BASE, OPENBSD_7_0, OPENBSD_6_9_BASE, OPENBSD_6_9
Changes since 1.176: +2 -2 lines
Diff to previous 1.176 (colored)

const-ify lookup tables; ok ratchov@

Revision 1.176 / (download) - annotate - [select for diffs], Fri Jun 28 13:35:00 2019 UTC (4 years, 10 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_6_8_BASE, OPENBSD_6_8, OPENBSD_6_7_BASE, OPENBSD_6_7, OPENBSD_6_6_BASE, OPENBSD_6_6
Changes since 1.175: +1 -1 lines
Diff to previous 1.175 (colored)

When system calls indicate an error they return -1, not some arbitrary
value < 0.  errno is only updated in this case.  Change all (most?)
callers of syscalls to follow this better, and let's see if this strictness
helps us in the future.

Revision 1.175 / (download) - annotate - [select for diffs], Sun May 19 12:44:55 2019 UTC (5 years ago) by ratchov
Branch: MAIN
Changes since 1.174: +22 -12 lines
Diff to previous 1.174 (colored)

Fix integer overflow in block size calculation.

Fixes truncation of contents of files with rate above 64kHz
generate in off-line mode (i.e. -n option).

Revision 1.174 / (download) - annotate - [select for diffs], Thu Feb 21 06:19:51 2019 UTC (5 years, 2 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_6_5_BASE, OPENBSD_6_5
Changes since 1.173: +5 -1 lines
Diff to previous 1.173 (colored)

Use reallocarray in place of malloc(a * b) to handle possible
overflow in multiplication of malloc argument.

Revision 1.173 / (download) - annotate - [select for diffs], Sun May 13 15:48:45 2018 UTC (6 years ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_6_4_BASE, OPENBSD_6_4
Changes since 1.172: +9 -0 lines
Diff to previous 1.172 (colored)

Add missing pledge(). From Jesper Wallin <jesper at ifconfig.se>.
Thanks!

Revision 1.172 / (download) - annotate - [select for diffs], Tue Nov 7 11:39:24 2017 UTC (6 years, 6 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_6_3_BASE, OPENBSD_6_3
Changes since 1.171: +14 -1 lines
Diff to previous 1.171 (colored)

prefill with silence the buffer where cmap_copy() stores samples
rather than the file buffer. Fixes initialized data being treated as
recorded samples when resampling or format conversions are involved
but mono->stereo conversion is disabled.

Revision 1.171 / (download) - annotate - [select for diffs], Fri Nov 3 17:06:13 2017 UTC (6 years, 6 months ago) by ratchov
Branch: MAIN
Changes since 1.170: +4 -0 lines
Diff to previous 1.170 (colored)

Prefill rec buffer with silence. This is necessary because certain
channels don't get samples, for instance when mono->stereo conversion
is disabled.

Revision 1.170 / (download) - annotate - [select for diffs], Thu Jul 20 10:20:53 2017 UTC (6 years, 10 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_6_2_BASE, OPENBSD_6_2
Changes since 1.169: +5 -5 lines
Diff to previous 1.169 (colored)

Fix integer overflow that would causes >12 hours files
to not properly relocate. Found with coverity.

Revision 1.169 / (download) - annotate - [select for diffs], Tue Jan 3 07:33:22 2017 UTC (7 years, 4 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_6_1_BASE, OPENBSD_6_1
Changes since 1.168: +8 -8 lines
Diff to previous 1.168 (colored)

Assert we're not freeing buffers we didn't allocate (DEBUG mode).

Revision 1.168 / (download) - annotate - [select for diffs], Tue Jan 3 07:29:20 2017 UTC (7 years, 4 months ago) by ratchov
Branch: MAIN
Changes since 1.167: +4 -0 lines
Diff to previous 1.167 (colored)

Log play volume together with other play parameters.

Revision 1.167 / (download) - annotate - [select for diffs], Fri Sep 30 09:14:44 2016 UTC (7 years, 7 months ago) by ratchov
Branch: MAIN
Changes since 1.166: +1 -0 lines
Diff to previous 1.166 (colored)

Set the device rate to the calculated rate. Otherwise, the signal
may endup resampled twice.

Revision 1.166 / (download) - annotate - [select for diffs], Fri Sep 30 08:43:23 2016 UTC (7 years, 7 months ago) by ratchov
Branch: MAIN
Changes since 1.165: +0 -2 lines
Diff to previous 1.165 (colored)

Remove unnecessary includes. From Michael W. Bombardieri <mb at ii.net>.

Revision 1.165 / (download) - annotate - [select for diffs], Tue Sep 27 07:02:28 2016 UTC (7 years, 7 months ago) by ratchov
Branch: MAIN
Changes since 1.164: +4 -0 lines
Diff to previous 1.164 (colored)

Don't rely on the resampling code to calculate the number of samples
to process, as it may produce one extra sample (to handle accumulation
of fractional samples), which would cause access to one sample past
the end of the buffer and crash aucat. Fix this by limiting the number
of samples processed to a single block.

Found by and help from Michael W. Bombardieri <mb at ii.net>. Thanks.

Revision 1.164 / (download) - annotate - [select for diffs], Tue Jun 7 06:26:24 2016 UTC (7 years, 11 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_6_0_BASE, OPENBSD_6_0
Changes since 1.163: +65 -10 lines
Diff to previous 1.163 (colored)

Add -g and -p options to control device and file start position.

Revision 1.163 / (download) - annotate - [select for diffs], Tue Jun 7 06:11:32 2016 UTC (7 years, 11 months ago) by ratchov
Branch: MAIN
Changes since 1.162: +14 -20 lines
Diff to previous 1.162 (colored)

Add resamp_getcnt() routine to calculate the exact number of samples
that would be consumed and produced by the sampler rate converter. Use
it to avoid partial samples that are not properly handled. Fixes
last samples of certain files causing aucat to abort.

Revision 1.162 / (download) - annotate - [select for diffs], Thu Jun 2 05:29:35 2016 UTC (7 years, 11 months ago) by ratchov
Branch: MAIN
Changes since 1.161: +0 -4 lines
Diff to previous 1.161 (colored)

remove forgotten debug printfs

Revision 1.161 / (download) - annotate - [select for diffs], Thu Jun 2 05:07:50 2016 UTC (7 years, 11 months ago) by ratchov
Branch: MAIN
Changes since 1.160: +1 -1 lines
Diff to previous 1.160 (colored)

set exit status to 1 if -n is used without -i and -o

Revision 1.160 / (download) - annotate - [select for diffs], Tue May 31 17:28:10 2016 UTC (7 years, 11 months ago) by ratchov
Branch: MAIN
Changes since 1.159: +23 -12 lines
Diff to previous 1.159 (colored)

Pass hr:min:sec:frame.cent to dev_mmcloc() directly and remove the
useless intermediate conversion from and to 2400-th of seconds.

Revision 1.159 / (download) - annotate - [select for diffs], Tue May 31 07:31:45 2016 UTC (7 years, 11 months ago) by ratchov
Branch: MAIN
Changes since 1.158: +25 -15 lines
Diff to previous 1.158 (colored)

To store MMC position, use samples (at device rate) as time units
instead of 2400-ths of second. No behaviour change.

Revision 1.158 / (download) - annotate - [select for diffs], Sat May 28 07:28:50 2016 UTC (7 years, 11 months ago) by ratchov
Branch: MAIN
Changes since 1.157: +1 -1 lines
Diff to previous 1.157 (colored)

Fix file block size rounding and ensure it's large enough to store a
full audio block.

Revision 1.157 / (download) - annotate - [select for diffs], Fri May 27 16:18:59 2016 UTC (7 years, 11 months ago) by ratchov
Branch: MAIN
Changes since 1.156: +2 -2 lines
Diff to previous 1.156 (colored)

When resampling, use the exact resampling factor instead of the ratio
between input and output block sizes.  This was inherited from sndiod,
but is not required for files because they are continuous streams of
samples and do not need to be split in blocks of equal duration.

This change makes playback/recording rate match exactly the requested
sample rate.

Revision 1.156 / (download) - annotate - [select for diffs], Fri May 27 16:02:54 2016 UTC (7 years, 11 months ago) by ratchov
Branch: MAIN
Changes since 1.155: +4 -2 lines
Diff to previous 1.155 (colored)

Flush rec buffer if there's less than one block space left and refill
play buffer if there's less than one block of data left. This is the
correct condition in the general case. No behaviour change, as all
input/output is multiple of the block size.

Revision 1.155 / (download) - annotate - [select for diffs], Fri May 27 15:46:41 2016 UTC (7 years, 11 months ago) by ratchov
Branch: MAIN
Changes since 1.154: +8 -12 lines
Diff to previous 1.154 (colored)

Simplify slot_fill() and slot_flush(). No behaviour change

Revision 1.154 / (download) - annotate - [select for diffs], Fri May 27 15:38:27 2016 UTC (7 years, 11 months ago) by ratchov
Branch: MAIN
Changes since 1.153: +66 -43 lines
Diff to previous 1.153 (colored)

Make resamp_do() get the exact number input and output samples and
provide routines to calculate them. This way we don't rely on it
to calculate the bytes procuded/consumed anymore. No behaviour change.

Revision 1.153 / (download) - annotate - [select for diffs], Thu May 26 06:17:31 2016 UTC (7 years, 11 months ago) by ratchov
Branch: MAIN
Changes since 1.152: +45 -45 lines
Diff to previous 1.152 (colored)

Make format conversion routines return the number of frames
consumed from both input and output buffers. No behaviour change.

Revision 1.152 / (download) - annotate - [select for diffs], Fri Jan 29 16:24:22 2016 UTC (8 years, 3 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_5_9_BASE, OPENBSD_5_9
Changes since 1.151: +2 -2 lines
Diff to previous 1.151 (colored)

Check that byte order is native only if we're using more than one
byte per sample, check that samples are lsb-aligned only if there's
padding. Fixes unsupported parameters not being detected if compiled
in 24-bit mode and sndiod is not running.

Revision 1.151 / (download) - annotate - [select for diffs], Sun Jan 10 11:06:44 2016 UTC (8 years, 4 months ago) by ratchov
Branch: MAIN
Changes since 1.150: +11 -9 lines
Diff to previous 1.150 (colored)

trailing spaces, fit in 80 columns

Revision 1.150 / (download) - annotate - [select for diffs], Mon Nov 9 14:44:23 2015 UTC (8 years, 6 months ago) by mmcc
Branch: MAIN
Changes since 1.149: +8 -10 lines
Diff to previous 1.149 (colored)

Remove xfree(). From Michael W. Bombardieri.

ok ratchov@

Revision 1.149 / (download) - annotate - [select for diffs], Thu Aug 27 07:25:56 2015 UTC (8 years, 8 months ago) by ratchov
Branch: MAIN
Changes since 1.148: +5 -5 lines
Diff to previous 1.148 (colored)

fix typos in comments and error messages

Revision 1.148 / (download) - annotate - [select for diffs], Sat May 16 19:27:53 2015 UTC (9 years ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_5_8_BASE, OPENBSD_5_8
Changes since 1.147: +1 -1 lines
Diff to previous 1.147 (colored)

Call slot_stop() after the play buffer is drained to properly cleanup
the slot. Fixes periodic glitches occurring after eof is reached, and
then playback restarted with a MMC-relocate and MMC-start.

Revision 1.147 / (download) - annotate - [select for diffs], Wed Jan 21 09:21:05 2015 UTC (9 years, 3 months ago) by jmc
Branch: MAIN
CVS Tags: OPENBSD_5_7_BASE, OPENBSD_5_7
Changes since 1.146: +3 -3 lines
Diff to previous 1.146 (colored)

fix macro breakage and update usage();

Revision 1.146 / (download) - annotate - [select for diffs], Wed Jan 21 08:43:55 2015 UTC (9 years, 3 months ago) by ratchov
Branch: MAIN
Changes since 1.145: +1244 -351 lines
Diff to previous 1.145 (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.145 / (download) - annotate - [select for diffs], Fri Jan 16 06:40:05 2015 UTC (9 years, 4 months ago) by deraadt
Branch: MAIN
Changes since 1.144: +2 -2 lines
Diff to previous 1.144 (colored)

Replace <sys/param.h> with <limits.h> and other less dirty headers where
possible.  Annotate <sys/param.h> lines with their current reasons.  Switch
to PATH_MAX, NGROUPS_MAX, HOST_NAME_MAX+1, LOGIN_NAME_MAX, etc.  Change
MIN() and MAX() to local definitions of MINIMUM() and MAXIMUM() where
sensible to avoid pulling in the pollution.  These are the files confirmed
through binary verification.
ok guenther, millert, doug (helped with the verification protocol)

Revision 1.144 / (download) - annotate - [select for diffs], Mon Nov 18 17:51:59 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.143: +1 -4 lines
Diff to previous 1.143 (colored)

remove unused variables

Revision 1.143 / (download) - annotate - [select for diffs], Mon Nov 18 17:37:45 2013 UTC (10 years, 6 months ago) by ratchov
Branch: MAIN
Changes since 1.142: +13 -0 lines
Diff to previous 1.142 (colored)

add missing prototypes

Revision 1.142 / (download) - annotate - [select for diffs], Tue Nov 12 06:47:34 2013 UTC (10 years, 6 months ago) by ratchov
Branch: MAIN
Changes since 1.141: +10 -201 lines
Diff to previous 1.141 (colored)

remove bogus legacy server-specific bits that cause confusion

Revision 1.141 / (download) - annotate - [select for diffs], Mon Dec 3 15:35:25 2012 UTC (11 years, 5 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_5_4_BASE, OPENBSD_5_4, OPENBSD_5_3_BASE, OPENBSD_5_3
Changes since 1.140: +5 -6 lines
Diff to previous 1.140 (colored)

Remove server capability description from the documentation and from
the usage string, and just say that for historic reasons aucat behaves
like sndiod.
with help from jmc@

Revision 1.140 / (download) - annotate - [select for diffs], Fri Nov 23 07:15:47 2012 UTC (11 years, 5 months ago) by ratchov
Branch: MAIN
Changes since 1.139: +4 -4 lines
Diff to previous 1.139 (colored)

Since there's no sndiod -> aucat link anymore, allow aucat to be run
in server mode even when not invoked as sndiod. This allows aucat and
the new sndiod daemon to live together in /usr/bin, which makes easy
to quickly compare sndiod and aucat (and spot possible regressions)
without having to modify /usr/bin.

Revision 1.139 / (download) - annotate - [select for diffs], Sat Oct 27 08:39:03 2012 UTC (11 years, 6 months ago) by ratchov
Branch: MAIN
Changes since 1.138: +1 -6 lines
Diff to previous 1.138 (colored)

don't stat & test sndio home directory since we never use it.

Revision 1.138 / (download) - annotate - [select for diffs], Sat Oct 27 08:36:36 2012 UTC (11 years, 6 months ago) by ratchov
Branch: MAIN
Changes since 1.137: +6 -1 lines
Diff to previous 1.137 (colored)

don't (re-)define SNDIO_USER and SNDIO_PRIO if they are already defined,
this way they can be defined at compilation time

Revision 1.137 / (download) - annotate - [select for diffs], Wed Jun 27 06:53:13 2012 UTC (11 years, 10 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_5_2_BASE, OPENBSD_5_2
Changes since 1.136: +3 -5 lines
Diff to previous 1.136 (colored)

Uniformize error messages printing, use err() instead of fprintf()
when appropriate. From Michael W. Bombardieri <mb at ii.net>

Revision 1.136 / (download) - annotate - [select for diffs], Tue Jun 19 20:03:29 2012 UTC (11 years, 11 months ago) by ratchov
Branch: MAIN
Changes since 1.135: +2 -5 lines
Diff to previous 1.135 (colored)

Remove hidden options that are not needed any more,
from Remco <remco at d-compu.dyndns.org>. Thanks

Revision 1.135 / (download) - annotate - [select for diffs], Wed May 23 19:25:11 2012 UTC (11 years, 11 months ago) by ratchov
Branch: MAIN
Changes since 1.134: +3 -2 lines
Diff to previous 1.134 (colored)

Make the "default" string a valid device name that has the same effect
as NULL has. This will (hopefully) simplify ports where the user
passes the device string.

Revision 1.134 / (download) - annotate - [select for diffs], Wed Apr 11 06:05:43 2012 UTC (12 years, 1 month ago) by ratchov
Branch: MAIN
Changes since 1.133: +5 -5 lines
Diff to previous 1.133 (colored)

Use "unsigned int" rather than "unsigned". No object change.
suggested by deraadt@

Revision 1.133 / (download) - annotate - [select for diffs], Thu Feb 9 18:33:36 2012 UTC (12 years, 3 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_5_1_BASE, OPENBSD_5_1
Changes since 1.132: +14 -6 lines
Diff to previous 1.132 (colored)

Crank the default buffer size to 160ms (ie 7680 frames at 48kHz).
Workarounds stuttering caused by something hogging the cpu in kernel
mode and preventing sndiod from running at time.
ok deraadt

Revision 1.132 / (download) - annotate - [select for diffs], Thu Jan 26 09:07:03 2012 UTC (12 years, 3 months ago) by ratchov
Branch: MAIN
Changes since 1.131: +5 -5 lines
Diff to previous 1.131 (colored)

Make the default rate 48kHz and the default block size 10ms. These
settings ensure video players and programs using MTC are smooth by
default. Thanks to all who tested.

Revision 1.131 / (download) - annotate - [select for diffs], Tue Jan 10 08:04:19 2012 UTC (12 years, 4 months ago) by ratchov
Branch: MAIN
Changes since 1.130: +6 -4 lines
Diff to previous 1.130 (colored)

When a sub-device is created (-s), check if a hardware
device was already created (-f) before trying to use the
default one, otherwise all sub-devices end up attached
to the default device. Noticed by peters at schwertfisch.de,
thanks!

Revision 1.130 / (download) - annotate - [select for diffs], Fri Dec 9 22:56:35 2011 UTC (12 years, 5 months ago) by ratchov
Branch: MAIN
Changes since 1.129: +3 -3 lines
Diff to previous 1.129 (colored)

fix usage string: remove -M from aucat and -l from aucat and sndiod
from jmc

Revision 1.129 / (download) - annotate - [select for diffs], Fri Dec 9 14:36:42 2011 UTC (12 years, 5 months ago) by ratchov
Branch: MAIN
Changes since 1.128: +19 -7 lines
Diff to previous 1.128 (colored)

add a new sndiod audio/midi daemon and hide aucat server-specific
options.

Revision 1.128 / (download) - annotate - [select for diffs], Fri Dec 2 12:45:29 2011 UTC (12 years, 5 months ago) by ratchov
Branch: MAIN
Changes since 1.127: +8 -13 lines
Diff to previous 1.127 (colored)

don't use a "server" flag, just check if we expose sub-devices

Revision 1.127 / (download) - annotate - [select for diffs], Fri Dec 2 10:34:50 2011 UTC (12 years, 5 months ago) by ratchov
Branch: MAIN
Changes since 1.126: +3 -3 lines
Diff to previous 1.126 (colored)

reuse midi-control code to implement midi thru boxes and remove
the old midithru implementation; less code, less bugs. As a side
effect, midi output doesn't implement running status "compression"
any more.

Revision 1.126 / (download) - annotate - [select for diffs], Sun Nov 20 22:54:51 2011 UTC (12 years, 6 months ago) by ratchov
Branch: MAIN
Changes since 1.125: +3 -4 lines
Diff to previous 1.125 (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.125 / (download) - annotate - [select for diffs], Tue Nov 15 08:05:22 2011 UTC (12 years, 6 months ago) by ratchov
Branch: MAIN
Changes since 1.124: +27 -12 lines
Diff to previous 1.124 (colored)

Add a "device number" component in sndio(7) device names, allowing a
single aucat instance to handle all audio and MIDI services. Since
this partially breaks compatibility, this is a opportunitiy to fix few
other design mistakes (eg ':' being used by inet6, type name vs api
name confusion, etc..). This leads to the following names:

        type[@hostname][,unit]/devnum[.option]

The device number is the minor device number for direct hardware
access (ie the 'N' in /dev/audioN). For aucat, this is the occurence
number of the -f (or -M) option.

There's a compatibility hook to keep old names working if only one
aucat server is running.

Revision 1.124 / (download) - annotate - [select for diffs], Tue Oct 18 21:04:26 2011 UTC (12 years, 7 months ago) by ratchov
Branch: MAIN
Changes since 1.123: +4 -2 lines
Diff to previous 1.123 (colored)

keep the device closed by default (when not used)

Revision 1.123 / (download) - annotate - [select for diffs], Tue Oct 18 18:40:32 2011 UTC (12 years, 7 months ago) by ratchov
Branch: MAIN
Changes since 1.122: +3 -3 lines
Diff to previous 1.122 (colored)

remove duplicate options in getopt() string

Revision 1.122 / (download) - annotate - [select for diffs], Mon Oct 17 21:09:11 2011 UTC (12 years, 7 months ago) by ratchov
Branch: MAIN
Changes since 1.121: +5 -20 lines
Diff to previous 1.121 (colored)

Remove midicat since aucat can now be used instead of midicat
with almost the same syntax (roughly an extra -M option).
Thru boxes are created with aucat, and corresponding MIDI port
names have the "aucat" prefix instead of "midithru". The old
device name will still work some time for backward compatibility.

ok deraadt

Revision 1.121 / (download) - annotate - [select for diffs], Wed Oct 12 12:16:10 2011 UTC (12 years, 7 months ago) by jmc
Branch: MAIN
Changes since 1.120: +3 -3 lines
Diff to previous 1.120 (colored)

- avoid line wrapping an example
- sort usage() for midicat
- tweak a bit of unclear wording

ok ratchov

Revision 1.120 / (download) - annotate - [select for diffs], Wed Oct 12 07:20:03 2011 UTC (12 years, 7 months ago) by ratchov
Branch: MAIN
Changes since 1.119: +207 -720 lines
Diff to previous 1.119 (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.119 / (download) - annotate - [select for diffs], Wed Jun 29 07:39:02 2011 UTC (12 years, 10 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_5_0_BASE, OPENBSD_5_0
Changes since 1.118: +15 -14 lines
Diff to previous 1.118 (colored)

make -u flag per-device similarly to -a and -w

Revision 1.118 / (download) - annotate - [select for diffs], Mon Jun 20 20:18:44 2011 UTC (12 years, 11 months ago) by ratchov
Branch: MAIN
Changes since 1.117: +14 -10 lines
Diff to previous 1.117 (colored)

Make -aoff option apply to MIDI ports (-q) as well, ensuring the device
stays closed also if -q is used. As we're at it, add -a to midicat so
it behaves like aucat.

Revision 1.117 / (download) - annotate - [select for diffs], Fri Jun 3 17:04:47 2011 UTC (12 years, 11 months ago) by ratchov
Branch: MAIN
Changes since 1.116: +7 -1 lines
Diff to previous 1.116 (colored)

Allow device encoding to be set if -u is also used. Useful to degrade
quality to save bandwith when a remote audio device is used.

Revision 1.116 / (download) - annotate - [select for diffs], Fri Jun 3 10:05:27 2011 UTC (12 years, 11 months ago) by ratchov
Branch: MAIN
Changes since 1.115: +81 -94 lines
Diff to previous 1.115 (colored)

Reorganize the way command line options are parsed and stored.
No behaviour change.

Revision 1.115 / (download) - annotate - [select for diffs], Thu May 26 07:18:40 2011 UTC (12 years, 11 months ago) by ratchov
Branch: MAIN
Changes since 1.114: +9 -4 lines
Diff to previous 1.114 (colored)

add a new -w flag to control whether master volume is automatically
adjusted when new streams are connected and disconnected. Disabling
automatic volume adjustment makes sense if all streams are recorded
with properly lowered volumes.

Revision 1.114 / (download) - annotate - [select for diffs], Tue May 10 06:26:34 2011 UTC (13 years ago) by ratchov
Branch: MAIN
Changes since 1.113: +2 -2 lines
Diff to previous 1.113 (colored)

fix option handling and enable TCP in midicat
from peters at schwertfisch.de, thanks!

Revision 1.113 / (download) - annotate - [select for diffs], Thu Apr 28 06:19:57 2011 UTC (13 years ago) by ratchov
Branch: MAIN
Changes since 1.112: +54 -8 lines
Diff to previous 1.112 (colored)

Implement a new authentication method allowing aucat and midicat to
work over TCP, for instance, to expose the sound card of one machine
with other machines of the network.

The first client generates a 128-bit random number (aka the
session cookie), saves it in $HOME/.aucat_cookie and sends it to the
server. Successive clients load the cookie from $HOME/.aucat_cookie
and send it to the server but the server accepts only clients whose
cookie matches the session cookie. When all clients are gone, the
session is over, and another cookie could start a new session, and so
on.

TCP is enabled on the server with the new -L option, and on the client
side hostnames are specified with a new optional component in the
device name.

hints from damien, dlg and deraadt, tweaks from jmc

Revision 1.112 / (download) - annotate - [select for diffs], Wed Apr 27 21:20:36 2011 UTC (13 years ago) by ratchov
Branch: MAIN
Changes since 1.111: +2 -1 lines
Diff to previous 1.111 (colored)

move amsg.h containing protocol defs from aucat side to libsndio side.

requested by deraadt

Revision 1.111 / (download) - annotate - [select for diffs], Wed Apr 27 17:58:43 2011 UTC (13 years ago) by deraadt
Branch: MAIN
Changes since 1.110: +3 -3 lines
Diff to previous 1.110 (colored)

use more volatile sig_atomic_t in signal handlers
ok ratchov

Revision 1.110 / (download) - annotate - [select for diffs], Tue Apr 19 00:02:28 2011 UTC (13 years, 1 month ago) by ratchov
Branch: MAIN
Changes since 1.109: +7 -13 lines
Diff to previous 1.109 (colored)

don't hold a pointer to "listen" structure. Instead, when it must
be free()ed, iterate over the file_list, and find the structure
to free. This is safer and simpler. No behaviour change

Revision 1.109 / (download) - annotate - [select for diffs], Sat Apr 16 11:51:48 2011 UTC (13 years, 1 month ago) by ratchov
Branch: MAIN
Changes since 1.108: +3 -3 lines
Diff to previous 1.108 (colored)

for unix domain socket addresses use AUCAT_PATH and MIDICAT_PATH
macros instead of hardcoded strings. No object change

Revision 1.108 / (download) - annotate - [select for diffs], Thu Mar 17 07:55:35 2011 UTC (13 years, 2 months ago) by ratchov
Branch: MAIN
Changes since 1.107: +12 -5 lines
Diff to previous 1.107 (colored)

use a DEFAULT_RATE macro instead of hardcoding 44100, no object change

Revision 1.107 / (download) - annotate - [select for diffs], Fri Nov 5 16:09:50 2010 UTC (13 years, 6 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_4_9_BASE, OPENBSD_4_9
Changes since 1.106: +5 -1 lines
Diff to previous 1.106 (colored)

unbreak compilation without DEBUG defined

Revision 1.106 / (download) - annotate - [select for diffs], Thu Oct 21 18:57:42 2010 UTC (13 years, 7 months ago) by ratchov
Branch: MAIN
Changes since 1.105: +4 -4 lines
Diff to previous 1.105 (colored)

use MODE_xxx and XRUN_xxx macros everywhere, and zap corresponding
AMSG_xxx macros, which in turns simplifies the code

Revision 1.105 / (download) - annotate - [select for diffs], Wed Sep 8 22:07:26 2010 UTC (13 years, 8 months ago) by deraadt
Branch: MAIN
Changes since 1.104: +2 -2 lines
Diff to previous 1.104 (colored)

aucat: getpwnam: No such file or directory
is not a proper error message.

Revision 1.104 / (download) - annotate - [select for diffs], Fri Aug 20 06:56:54 2010 UTC (13 years, 9 months ago) by ratchov
Branch: MAIN
Changes since 1.103: +2 -3 lines
Diff to previous 1.103 (colored)

polish the code: remove few unused #includes, add missing ones,
fix NULL vs 0, etc. No behaviour change.

Revision 1.103 / (download) - annotate - [select for diffs], Thu Aug 19 06:31:06 2010 UTC (13 years, 9 months ago) by ratchov
Branch: MAIN
Changes since 1.102: +6 -5 lines
Diff to previous 1.102 (colored)

fix NULL pointer deref in midicat option parsing when ``-'' is
used as filename

Revision 1.102 / (download) - annotate - [select for diffs], Sat Jul 31 08:48:01 2010 UTC (13 years, 9 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_4_8_BASE, OPENBSD_4_8
Changes since 1.101: +4 -37 lines
Diff to previous 1.101 (colored)

remove 2 years old compatibility mode

Revision 1.101 / (download) - annotate - [select for diffs], Sat Jul 10 12:28:17 2010 UTC (13 years, 10 months ago) by ratchov
Branch: MAIN
Changes since 1.100: +2 -2 lines
Diff to previous 1.100 (colored)

In midi server mode, don't terminate the midi thru box if there are
no connections anymore.

Revision 1.100 / (download) - annotate - [select for diffs], Sat Jul 10 11:56:28 2010 UTC (13 years, 10 months ago) by ratchov
Branch: MAIN
Changes since 1.99: +2 -2 lines
Diff to previous 1.99 (colored)

fix parameter handling: don't try to open a ``default'' midi port
if no files are given on the command line

Revision 1.99 / (download) - annotate - [select for diffs], Tue Jul 6 10:45:01 2010 UTC (13 years, 10 months ago) by jmc
Branch: MAIN
Changes since 1.98: +2 -2 lines
Diff to previous 1.98 (colored)

various tweaks to previous; ok ratchov

Revision 1.98 / (download) - annotate - [select for diffs], Tue Jul 6 01:12:45 2010 UTC (13 years, 10 months ago) by ratchov
Branch: MAIN
Changes since 1.97: +213 -121 lines
Diff to previous 1.97 (colored)

Handle all streams the same way because there's no actual
difference between audio files and client connections. Clean up
the way command line options are handled and clarify this in the
manual page: stream parameters (-Ccehjmrtvx) must precede stream
definitions (-ios) and per-device parameters (-abz) and stream
definitions (-ios) must precede device definitions (-f). Since
there's no ``server'' and ``non-server'' modes anymore, make the
-l option just detach the process.

ok and help from jakemsr and jmc

Revision 1.97 / (download) - annotate - [select for diffs], Tue Jun 29 06:48:39 2010 UTC (13 years, 10 months ago) by jakemsr
Branch: MAIN
Changes since 1.96: +2 -2 lines
Diff to previous 1.96 (colored)

If the device isn't opened yet (as can be the case with '-a off'),
don't check if the midi control interface is idle
from ratchov

Revision 1.96 / (download) - annotate - [select for diffs], Fri Jun 25 07:32:05 2010 UTC (13 years, 10 months ago) by ratchov
Branch: MAIN
Changes since 1.95: +6 -4 lines
Diff to previous 1.95 (colored)

don't attempt to drain devices after they are destroyed, which
results in a use after free(). Catched by jakemsr@ with MALLOC_OPTIONS=J

Revision 1.95 / (download) - annotate - [select for diffs], Sun Jun 20 11:32:54 2010 UTC (13 years, 11 months ago) by ratchov
Branch: MAIN
Changes since 1.94: +3 -3 lines
Diff to previous 1.94 (colored)

fix midicat(1) device mode when only -i or only -o is used (ie
open the device input-only if -o is used, and output-only if -i is
used).

Revision 1.94 / (download) - annotate - [select for diffs], Sat Jun 5 16:00:52 2010 UTC (13 years, 11 months ago) by ratchov
Branch: MAIN
Changes since 1.93: +2 -2 lines
Diff to previous 1.93 (colored)

don't prime server buffers, because it's ugly and conceptually
complicated. Instead, request clients to provide enough samples
and start with buffers full.

Revision 1.93 / (download) - annotate - [select for diffs], Sat Jun 5 12:45:48 2010 UTC (13 years, 11 months ago) by ratchov
Branch: MAIN
Changes since 1.92: +2 -2 lines
Diff to previous 1.92 (colored)

Don't send the initial position as a clock tick with a negative delta.
Add a new ``initial position'' message which is simpler. No bahaviour
change, except effects of the protocol version crank.

Revision 1.92 / (download) - annotate - [select for diffs], Fri Jun 4 06:15:28 2010 UTC (13 years, 11 months ago) by ratchov
Branch: MAIN
Changes since 1.91: +440 -350 lines
Diff to previous 1.91 (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.91 / (download) - annotate - [select for diffs], Sat May 8 15:35:45 2010 UTC (14 years ago) by ratchov
Branch: MAIN
Changes since 1.90: +3 -1 lines
Diff to previous 1.90 (colored)

prime play buffers as soon as the device is opened, otherwise a
midi client could start it with empty buffers, in turn hurting
audio clients.

Revision 1.90 / (download) - annotate - [select for diffs], Sun May 2 11:54:26 2010 UTC (14 years ago) by ratchov
Branch: MAIN
Changes since 1.89: +34 -46 lines
Diff to previous 1.89 (colored)

Clean up device handling code to clarify different initialization phases
and different device states. Split initialization in two phases:
first global variables are initialized then the audio hardware is opened.
Allow devices that don't support full-duplex to work in play-only or
record-only mode, even if ``-m play'' or ``-m rec'' are not specified.

Revision 1.89 / (download) - annotate - [select for diffs], Sun May 2 11:12:31 2010 UTC (14 years ago) by ratchov
Branch: MAIN
Changes since 1.88: +23 -11 lines
Diff to previous 1.88 (colored)

Don't systematically fill with silence the mixer output. This
might result in extra samples being written to the device
when the mixer is closed.

Revision 1.88 / (download) - annotate - [select for diffs], Sat Apr 24 14:33:46 2010 UTC (14 years ago) by ratchov
Branch: MAIN
Changes since 1.87: +17 -16 lines
Diff to previous 1.87 (colored)

if there are no files to play in legacy mode, print the usage message

Revision 1.87 / (download) - annotate - [select for diffs], Sat Apr 24 06:18:23 2010 UTC (14 years ago) by ratchov
Branch: MAIN
Changes since 1.86: +3 -3 lines
Diff to previous 1.86 (colored)

rename ibuflist/obuflist -> ins/outs to cut long lines
from Thomas Pfaff, thanks

Revision 1.86 / (download) - annotate - [select for diffs], Thu Apr 22 17:43:30 2010 UTC (14 years, 1 month ago) by ratchov
Branch: MAIN
Changes since 1.85: +49 -6 lines
Diff to previous 1.85 (colored)

Allow multiple users to share the same aucat server. If aucat is
run by root, it binds a shared address to the socket, cranks the
process priority and drops privileges. sio_open(3) will try to
connect to the private socket first (if any), then to the shared
socket. Only one user may have connections to aucat at a given
time.

based on discussions with henning, pyr and others
ok jacek, deraadt

Revision 1.85 / (download) - annotate - [select for diffs], Wed Apr 21 06:15:02 2010 UTC (14 years, 1 month ago) by ratchov
Branch: MAIN
Changes since 1.84: +3 -3 lines
Diff to previous 1.84 (colored)

when creating the ``default'' subdevice, use last parameters of the
command line, instead of the device parameters.

Revision 1.84 / (download) - annotate - [select for diffs], Wed Apr 21 06:13:07 2010 UTC (14 years, 1 month ago) by ratchov
Branch: MAIN
Changes since 1.83: +35 -17 lines
Diff to previous 1.83 (colored)

adds the necessary bits to join channels (ex stereo->mono) or
expand channels (ex mono->stereo).  It's switched on/off with
the ``-j'' option, (default is "on").

Revision 1.83 / (download) - annotate - [select for diffs], Tue Apr 6 20:07:01 2010 UTC (14 years, 1 month ago) by ratchov
Branch: MAIN
Changes since 1.82: +186 -113 lines
Diff to previous 1.82 (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.82 / (download) - annotate - [select for diffs], Sat Apr 3 17:59:17 2010 UTC (14 years, 1 month ago) by ratchov
Branch: MAIN
Changes since 1.81: +112 -185 lines
Diff to previous 1.81 (colored)

backout last change, committed by mistake, sorry...

Revision 1.81 / (download) - annotate - [select for diffs], Sat Apr 3 17:40:33 2010 UTC (14 years, 1 month ago) by ratchov
Branch: MAIN
Changes since 1.80: +186 -113 lines
Diff to previous 1.80 (colored)

doc fixes from jmc

Revision 1.80 / (download) - annotate - [select for diffs], Thu Jan 14 17:43:55 2010 UTC (14 years, 4 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_4_7_BASE, OPENBSD_4_7
Changes since 1.79: +2 -2 lines
Diff to previous 1.79 (colored)

Use -C option to specify recorded channel range instead of -c which
is for played channels.

spotted by Jan Stary <hans at stare.cz>, thanks

Revision 1.79 / (download) - annotate - [select for diffs], Mon Jan 11 13:06:32 2010 UTC (14 years, 4 months ago) by ratchov
Branch: MAIN
Changes since 1.78: +2 -1 lines
Diff to previous 1.78 (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.78 / (download) - annotate - [select for diffs], Sun Jan 10 21:47:41 2010 UTC (14 years, 4 months ago) by ratchov
Branch: MAIN
Changes since 1.77: +62 -1 lines
Diff to previous 1.77 (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.77 / (download) - annotate - [select for diffs], Tue Jan 5 10:18:12 2010 UTC (14 years, 4 months ago) by ratchov
Branch: MAIN
Changes since 1.76: +28 -126 lines
Diff to previous 1.76 (colored)

Make the way .wav files are handled closer to the way sockets are
handled, which is conceptually simpler. No behaviour changes.

Revision 1.76 / (download) - annotate - [select for diffs], Sat Nov 21 14:21:08 2009 UTC (14 years, 6 months ago) by ratchov
Branch: MAIN
Changes since 1.75: +41 -38 lines
Diff to previous 1.75 (colored)

use strtonum(3) and strtol(3) instead of sscanf(3)
suggested by deraadt@

Revision 1.75 / (download) - annotate - [select for diffs], Sat Nov 21 10:24:13 2009 UTC (14 years, 6 months ago) by deraadt
Branch: MAIN
Changes since 1.74: +2 -2 lines
Diff to previous 1.74 (colored)

spelling

Revision 1.74 / (download) - annotate - [select for diffs], Tue Nov 3 21:31:37 2009 UTC (14 years, 6 months ago) by ratchov
Branch: MAIN
Changes since 1.73: +51 -19 lines
Diff to previous 1.73 (colored)

Allow any program using aucat to act as MMC slave and MTC master
transparently.  Multiple audio applications can be started
synchronously from external software/hardware supporting the
standard Start/Stop/Relocate messages. The server clock is exposed
through MTC, allowing non-audio software/hardware to be
synchronized to audio applications.

Revision 1.73 / (download) - annotate - [select for diffs], Tue Oct 27 22:21:37 2009 UTC (14 years, 6 months ago) by ratchov
Branch: MAIN
Changes since 1.72: +2 -2 lines
Diff to previous 1.72 (colored)

add missing word in error message

Revision 1.72 / (download) - annotate - [select for diffs], Sat Oct 10 13:55:37 2009 UTC (14 years, 7 months ago) by ratchov
Branch: MAIN
Changes since 1.71: +3 -3 lines
Diff to previous 1.71 (colored)

don't use a references to the device file to check the current mode

Revision 1.71 / (download) - annotate - [select for diffs], Sat Oct 10 12:43:09 2009 UTC (14 years, 7 months ago) by ratchov
Branch: MAIN
Changes since 1.70: +4 -4 lines
Diff to previous 1.70 (colored)

make dev_done() common to audio and MIDI, and drop dev_thrudone()

Revision 1.70 / (download) - annotate - [select for diffs], Sat Oct 10 11:58:41 2009 UTC (14 years, 7 months ago) by ratchov
Branch: MAIN
Changes since 1.69: +2 -5 lines
Diff to previous 1.69 (colored)

use dev_done() for loopback devices too and remove dev_loopdone()

Revision 1.69 / (download) - annotate - [select for diffs], Mon Oct 5 07:05:24 2009 UTC (14 years, 7 months ago) by ratchov
Branch: MAIN
Changes since 1.68: +17 -9 lines
Diff to previous 1.68 (colored)

add -d flag. When started in server mode, if the -d flag is
used aucat and midicat don't daemonize and log on stderr.

Revision 1.68 / (download) - annotate - [select for diffs], Sun Sep 27 11:51:20 2009 UTC (14 years, 7 months ago) by ratchov
Branch: MAIN
Changes since 1.67: +9 -64 lines
Diff to previous 1.67 (colored)

remove all debug traces

Revision 1.67 / (download) - annotate - [select for diffs], Wed Aug 26 06:33:52 2009 UTC (14 years, 8 months ago) by jmc
Branch: MAIN
Changes since 1.66: +2 -2 lines
Diff to previous 1.66 (colored)

oops, forgot to update usage();

Revision 1.66 / (download) - annotate - [select for diffs], Wed Aug 19 18:29:34 2009 UTC (14 years, 9 months ago) by ratchov
Branch: MAIN
Changes since 1.65: +3 -3 lines
Diff to previous 1.65 (colored)

don't try to process -o arguments using the input file list, fixes
midicat crashing sometimes when -o is used

Revision 1.65 / (download) - annotate - [select for diffs], Wed Aug 19 05:54:15 2009 UTC (14 years, 9 months ago) by ratchov
Branch: MAIN
Changes since 1.64: +8 -32 lines
Diff to previous 1.64 (colored)

organize midi code like audio code, no functional change

Revision 1.64 / (download) - annotate - [select for diffs], Mon Aug 17 16:17:46 2009 UTC (14 years, 9 months ago) by ratchov
Branch: MAIN
Changes since 1.63: +37 -32 lines
Diff to previous 1.63 (colored)

allow midicat to take multiple -i and -o options

Revision 1.63 / (download) - annotate - [select for diffs], Mon Aug 17 15:07:49 2009 UTC (14 years, 9 months ago) by ratchov
Branch: MAIN
Changes since 1.62: +66 -57 lines
Diff to previous 1.62 (colored)

if one or more MIDI devices are specified in server mode, subscribe
them to the MIDI thru box

Revision 1.62 / (download) - annotate - [select for diffs], Sat Jul 25 10:52:18 2009 UTC (14 years, 9 months ago) by ratchov
Branch: MAIN
Changes since 1.61: +14 -14 lines
Diff to previous 1.61 (colored)

fix comments, remove no longer needed declaration, reorder includes
from Thomas Pfaff

Revision 1.61 / (download) - annotate - [select for diffs], Sat Jul 25 08:44:27 2009 UTC (14 years, 9 months ago) by ratchov
Branch: MAIN
Changes since 1.60: +338 -102 lines
Diff to previous 1.60 (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.60 / (download) - annotate - [select for diffs], Mon Apr 27 18:09:34 2009 UTC (15 years ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_4_6_BASE, OPENBSD_4_6
Changes since 1.59: +2 -2 lines
Diff to previous 1.59 (colored)

make -v option apply also to implicit default socket

Revision 1.59 / (download) - annotate - [select for diffs], Tue Mar 17 21:26:44 2009 UTC (15 years, 2 months ago) by jmc
Branch: MAIN
Changes since 1.58: +2 -2 lines
Diff to previous 1.58 (colored)

- rename the arg to -b "nframes" and sync usage()
- grammar fix for the server section

from Thomas Pfaff
ok ratchov

Revision 1.58 / (download) - annotate - [select for diffs], Fri Feb 6 08:26:34 2009 UTC (15 years, 3 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_4_5_BASE, OPENBSD_4_5
Changes since 1.57: +11 -6 lines
Diff to previous 1.57 (colored)

move error messages reported to user into main()

Revision 1.57 / (download) - annotate - [select for diffs], Wed Feb 4 20:35:14 2009 UTC (15 years, 3 months ago) by ratchov
Branch: MAIN
Changes since 1.56: +11 -1 lines
Diff to previous 1.56 (colored)

if there are too many connections, stop acceping new ones rather
than exit()ing with ``too many open files'' fatal error

Revision 1.56 / (download) - annotate - [select for diffs], Wed Feb 4 08:00:33 2009 UTC (15 years, 3 months ago) by ratchov
Branch: MAIN
Changes since 1.55: +5 -1 lines
Diff to previous 1.55 (colored)

daemonize when in server mode, suggested by many
ok jakemsr

Revision 1.55 / (download) - annotate - [select for diffs], Tue Feb 3 19:44:58 2009 UTC (15 years, 3 months ago) by ratchov
Branch: MAIN
Changes since 1.54: +28 -5 lines
Diff to previous 1.54 (colored)

in server mode, create /tmp/aucat-userid/ directory with
permissions 0700, and create sockets in it. This prevents
one local user to eavesdrop or disturb audio programs of
other users.

if you're using the ``-s socket'' option with an absolute
path as argument, please update it to use a socket name.

requested by many, bits from jakemsr and otto
ok jakemsr

Revision 1.54 / (download) - annotate - [select for diffs], Sun Jan 25 17:07:39 2009 UTC (15 years, 3 months ago) by ratchov
Branch: MAIN
Changes since 1.53: +1 -4 lines
Diff to previous 1.53 (colored)

don't set malloc_options to not interfer with /etc/malloc.conf
requested and explained by fgsch@, henning@, otto@

Revision 1.53 / (download) - annotate - [select for diffs], Fri Jan 23 17:52:13 2009 UTC (15 years, 3 months ago) by ratchov
Branch: MAIN
Changes since 1.52: +5 -1 lines
Diff to previous 1.52 (colored)

catch SIGHUP and SIGTERM too, to ensure that recorded files are
properly closed and sockets are cleaned up.

Revision 1.52 / (download) - annotate - [select for diffs], Fri Jan 23 17:38:15 2009 UTC (15 years, 3 months ago) by ratchov
Branch: MAIN
Changes since 1.51: +7 -7 lines
Diff to previous 1.51 (colored)

spacing + typo fix from Matt Jibson <matt.jibson(at)gmail.com>

Revision 1.51 / (download) - annotate - [select for diffs], Sat Jan 10 20:02:28 2009 UTC (15 years, 4 months ago) by ratchov
Branch: MAIN
Changes since 1.50: +29 -11 lines
Diff to previous 1.50 (colored)

add "loopback" mode in which input is connected to the output.
This is useful to mix, demultiplex, resample or reencode audio
files off-line.
tweak + ok jakemsr

Revision 1.50 / (download) - annotate - [select for diffs], Mon Dec 29 17:59:08 2008 UTC (15 years, 4 months ago) by ratchov
Branch: MAIN
Changes since 1.49: +9 -6 lines
Diff to previous 1.49 (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.49 / (download) - annotate - [select for diffs], Fri Dec 26 13:29:31 2008 UTC (15 years, 4 months ago) by ratchov
Branch: MAIN
Changes since 1.48: +3 -3 lines
Diff to previous 1.48 (colored)

*** empty log message ***

Revision 1.48 / (download) - annotate - [select for diffs], Sun Dec 7 17:10:41 2008 UTC (15 years, 5 months ago) by ratchov
Branch: MAIN
Changes since 1.47: +2 -2 lines
Diff to previous 1.47 (colored)

When resampling, don't require the sample frequency to be an integer.
This removes the arithmetic constraint between the sample frequency
and the block size and all the associated code. Now aucat can work
in server mode with any block size.
ok jakemsr

Revision 1.47 / (download) - annotate - [select for diffs], Sun Nov 23 12:29:32 2008 UTC (15 years, 5 months ago) by ratchov
Branch: MAIN
Changes since 1.46: +3 -3 lines
Diff to previous 1.46 (colored)

Use file input parameter as default device output and file output parameters
as default device input. That's what the man page says

Revision 1.46 / (download) - annotate - [select for diffs], Thu Nov 20 10:10:01 2008 UTC (15 years, 6 months ago) by ratchov
Branch: MAIN
Changes since 1.45: +17 -23 lines
Diff to previous 1.45 (colored)

take into account socket parameters into calculation of device
parameters; without this change aucat uses the device default
parameters and they are not necessarily usable for multi-stream
mode.

Revision 1.45 / (download) - annotate - [select for diffs], Mon Nov 17 09:40:09 2008 UTC (15 years, 6 months ago) by jmc
Branch: MAIN
Changes since 1.44: +2 -2 lines
Diff to previous 1.44 (colored)

- rename -s arg name to "socket"
- condense EXAMPLES into a single screenful

ok ratchov

Revision 1.44 / (download) - annotate - [select for diffs], Mon Nov 17 07:36:43 2008 UTC (15 years, 6 months ago) by jmc
Branch: MAIN
Changes since 1.43: +3 -3 lines
Diff to previous 1.43 (colored)

tweak previous man page changes, and sync usage();

Revision 1.43 / (download) - annotate - [select for diffs], Mon Nov 17 07:04:13 2008 UTC (15 years, 6 months ago) by ratchov
Branch: MAIN
Changes since 1.42: +33 -8 lines
Diff to previous 1.42 (colored)

allow aucat to run as server in play-only and record-only mode, so
it can be used on play-only, record-only and half-duplex devices.
ok jakemsr

Revision 1.42 / (download) - annotate - [select for diffs], Sun Nov 16 20:44:03 2008 UTC (15 years, 6 months ago) by ratchov
Branch: MAIN
Changes since 1.41: +60 -41 lines
Diff to previous 1.41 (colored)

allow aucat to listen on multiple sockets. Each socket carries its
channel and volume settings allowing multiple configuration to
coexist. Mostly useful for envy(4)-like devices, but can be used
to force different apps to use different settings.

Revision 1.41 / (download) - annotate - [select for diffs], Sun Nov 16 18:34:56 2008 UTC (15 years, 6 months ago) by ratchov
Branch: MAIN
Changes since 1.40: +2 -2 lines
Diff to previous 1.40 (colored)

add ``template'' parameters to sockets rather than using device
parameters. No functional change.

Revision 1.40 / (download) - annotate - [select for diffs], Sun Nov 16 16:30:22 2008 UTC (15 years, 6 months ago) by ratchov
Branch: MAIN
Changes since 1.39: +11 -8 lines
Diff to previous 1.39 (colored)

Make clients inherit the volume parameter when the -v option is used in
server mode. It gives the maximum volume a client may have. This wastes
dynamic range, but allows volume to stay constant when other clients
connect or disconnect.

Revision 1.39 / (download) - annotate - [select for diffs], Wed Nov 12 19:36:39 2008 UTC (15 years, 6 months ago) by ratchov
Branch: MAIN
Changes since 1.38: +2 -2 lines
Diff to previous 1.38 (colored)

when destroying the device, mark the mixer and the demultiplexer
for ``AUTOQUIT'' first, and then call file_eof() and friends.
fixes crashes sthen@ noticed on zaurus

Revision 1.38 / (download) - annotate - [select for diffs], Tue Nov 11 21:26:21 2008 UTC (15 years, 6 months ago) by ratchov
Branch: MAIN
Changes since 1.37: +5 -3 lines
Diff to previous 1.37 (colored)

if the device disappear the mixer and demultiplexer chains are
destroyed. If this happen then warn and exit, rather than crashing.

Revision 1.37 / (download) - annotate - [select for diffs], Tue Nov 11 13:12:03 2008 UTC (15 years, 6 months ago) by ratchov
Branch: MAIN
Changes since 1.36: +4 -15 lines
Diff to previous 1.36 (colored)

termninate non-server aucat when it's idle rather that using
the hackish {MIX,SUB}_AUTOQUIT features. This way we don't
have to care about possible references on destroyed objects.

Revision 1.36 / (download) - annotate - [select for diffs], Tue Nov 11 12:56:02 2008 UTC (15 years, 6 months ago) by ratchov
Branch: MAIN
Changes since 1.35: +5 -2 lines
Diff to previous 1.35 (colored)

when not in server mode, aucat terminates automatically using
the {MIX,SUB}_AUTAQUIT features. In this case we're not
allowed to directly touch dev_mix and dev_sub because they
can disappar. So disable the ``suspend'' and ``quit'' bits
when {MIX,SUB}_AUTAQUIT are used.

Revision 1.35 / (download) - annotate - [select for diffs], Mon Nov 10 23:25:37 2008 UTC (15 years, 6 months ago) by ratchov
Branch: MAIN
Changes since 1.34: +22 -9 lines
Diff to previous 1.34 (colored)

add a per-stream ``soft volume'' knob and the corresponding -v option.
The code will be useful later for the volume knob in the sndio API.

Revision 1.34 / (download) - annotate - [select for diffs], Sun Nov 9 16:26:07 2008 UTC (15 years, 6 months ago) by ratchov
Branch: MAIN
Changes since 1.33: +24 -3 lines
Diff to previous 1.33 (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.33 / (download) - annotate - [select for diffs], Sat Nov 8 10:40:52 2008 UTC (15 years, 6 months ago) by ratchov
Branch: MAIN
Changes since 1.32: +2 -3 lines
Diff to previous 1.32 (colored)

set the default device to /dev/audio for legacy mode.
From Thomas Pfaff <tpfaff _at_ agderlink.no> and tweaks from me

Revision 1.32 / (download) - annotate - [select for diffs], Fri Nov 7 21:01:15 2008 UTC (15 years, 6 months ago) by ratchov
Branch: MAIN
Changes since 1.31: +7 -6 lines
Diff to previous 1.31 (colored)

expose the block size in the sndio API by making par->round writable
and thus remove the ugly rate <-> block-size table from
sio_setpar(3). Handle the block size negociation in aucat(1), since
it has few constrains the code is overally simpler.
ok jakemsr@, major crank suggested by deraadt@

Revision 1.31 / (download) - annotate - [select for diffs], Mon Nov 3 22:25:13 2008 UTC (15 years, 6 months ago) by ratchov
Branch: MAIN
Changes since 1.30: +3 -3 lines
Diff to previous 1.30 (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.30 / (download) - annotate - [select for diffs], Sun Oct 26 12:38:38 2008 UTC (15 years, 6 months ago) by ratchov
Branch: MAIN
Changes since 1.29: +2 -2 lines
Diff to previous 1.29 (colored)

zap `q' from the getopts string too,
requested by jmc@

Revision 1.29 / (download) - annotate - [select for diffs], Sun Oct 26 11:55:22 2008 UTC (15 years, 6 months ago) by jmc
Branch: MAIN
Changes since 1.28: +4 -5 lines
Diff to previous 1.28 (colored)

sync SYNOPSIS and usage();

Revision 1.28 / (download) - annotate - [select for diffs], Sun Oct 26 08:49:43 2008 UTC (15 years, 6 months ago) by ratchov
Branch: MAIN
Changes since 1.27: +143 -141 lines
Diff to previous 1.27 (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.27 / (download) - annotate - [select for diffs], Mon Aug 25 11:56:12 2008 UTC (15 years, 8 months ago) by sobrado
Branch: MAIN
Changes since 1.26: +5 -5 lines
Diff to previous 1.26 (colored)

minor tweak for removal of "[-d devel]" (change done in r1.19 and r1.21).

ok ratchov@

Revision 1.26 / (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.25: +82 -296 lines
Diff to previous 1.25 (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.25 / (download) - annotate - [select for diffs], Mon Jun 2 17:09:51 2008 UTC (15 years, 11 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_4_4_BASE, OPENBSD_4_4
Changes since 1.24: +2 -2 lines
Diff to previous 1.24 (colored)

document latest changes: -d flag is replaced by AUCAT_DEBUG
environment variable, new -xX options

bits from eric, ok jakemsr

Revision 1.24 / (download) - annotate - [select for diffs], Mon Jun 2 17:08:51 2008 UTC (15 years, 11 months ago) by ratchov
Branch: MAIN
Changes since 1.23: +5 -4 lines
Diff to previous 1.23 (colored)

currently, we start the device as soon as write() blocks; it's better
to continue filling the play buffer until it's full. This way, the
play buffer has fewer chances to underrun when the device is started.

ok jakemsr

Revision 1.23 / (download) - annotate - [select for diffs], Mon Jun 2 17:08:11 2008 UTC (15 years, 11 months ago) by ratchov
Branch: MAIN
Changes since 1.22: +8 -1 lines
Diff to previous 1.22 (colored)

if aucat is suspended, then the kernel continues running the device
(produces silence) and later, once aucat is resumed the kernel starts
dropping samples, it will try to drop as many samples as silence was
produced. So suspending breaks the aucat process permanently.

workaround this by blocking the signals ie disabling suspending of aucat
from the tty. The long term solution would be to catch SIGCONT and to stop
the device, resync/refill buffers and restart the device. That's really a
lot of work...

ok jakemsr

Revision 1.22 / (download) - annotate - [select for diffs], Mon Jun 2 17:06:36 2008 UTC (15 years, 11 months ago) by ratchov
Branch: MAIN
Changes since 1.21: +39 -8 lines
Diff to previous 1.21 (colored)

allow the user to choose the aucat behaviour when underruns/overruns
occur on a per-stream basis, using -Xx flags.  There are 3 possible
policies:

 - ignore : ignores underruns/overruns, for instance, this mode
   could be used for creating simple pipes with utilities; like in
   your last cdio diff.

 - sync : insert/discard samples in order to keep all streams in
   sync, useful for multi-tracker-like apps and/or to sync
   midi/video/whatever on audio streams (this was the previous
   behaviour)

 - error : if overruns/underruns occur, consider it as fatal error
   and kill the corresponding stream (without disturbing others).
   Useful, for reliable recordings (and/or debugging aucat
   itself:).

ok jakemsr

Revision 1.21 / (download) - annotate - [select for diffs], Mon Jun 2 17:05:45 2008 UTC (15 years, 11 months ago) by ratchov
Branch: MAIN
Changes since 1.20: +5 -4 lines
Diff to previous 1.20 (colored)

(remove -d, second part) use strtonum() instead of sscanf() and inlined
checks

suggested and ok jakemsr

Revision 1.20 / (download) - annotate - [select for diffs], Mon Jun 2 17:05:12 2008 UTC (15 years, 11 months ago) by ratchov
Branch: MAIN
Changes since 1.19: +1 -2 lines
Diff to previous 1.19 (colored)

since underruns/overruns are handled outside devices, remove code that
check for xruns in devices.

ok jakemsr

Revision 1.19 / (download) - annotate - [select for diffs], Mon Jun 2 17:04:32 2008 UTC (15 years, 11 months ago) by ratchov
Branch: MAIN
Changes since 1.18: +10 -9 lines
Diff to previous 1.18 (colored)

(remove -d, first part) replace -d flag by AUCAT_DEBUG environment
variable. This eases turning debugging on/off when aucat is started by
another program.

"i like the idea" jakemsr

Revision 1.18 / (download) - annotate - [select for diffs], Mon May 26 08:32:11 2008 UTC (15 years, 11 months ago) by jmc
Branch: MAIN
Changes since 1.17: +2 -2 lines
Diff to previous 1.17 (colored)

put -q in the right place;

Revision 1.17 / (download) - annotate - [select for diffs], Mon May 26 07:56:17 2008 UTC (15 years, 11 months ago) by jakemsr
Branch: MAIN
Changes since 1.16: +59 -39 lines
Diff to previous 1.16 (colored)


add -q option which enables "quiet" operation.

ok ratchov@

Revision 1.16 / (download) - annotate - [select for diffs], Fri May 23 12:56:27 2008 UTC (15 years, 11 months ago) by jmc
Branch: MAIN
Changes since 1.15: +5 -18 lines
Diff to previous 1.15 (colored)

various fixes for aucat.1, and sync usage(); ok ratchov

Revision 1.15 / (download) - annotate - [select for diffs], Fri May 23 07:15:46 2008 UTC (16 years ago) by ratchov
Branch: MAIN
Changes since 1.14: +610 -212 lines
Diff to previous 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@

Revision 1.14 / (download) - annotate - [select for diffs], Sun Apr 13 22:39:29 2008 UTC (16 years, 1 month ago) by jakemsr
Branch: MAIN
Changes since 1.13: +9 -14 lines
Diff to previous 1.13 (colored)


- remove code that was rendered pointless by the last commit
- minor knf

from Pierre Riteau

Revision 1.13 / (download) - annotate - [select for diffs], Tue Mar 20 23:35:15 2007 UTC (17 years, 2 months ago) by uwe
Branch: MAIN
CVS Tags: OPENBSD_4_3_BASE, OPENBSD_4_3, OPENBSD_4_2_BASE, OPENBSD_4_2
Changes since 1.12: +151 -11 lines
Diff to previous 1.12 (colored)

Support for playing simple RIFF files (.wav) from Simon Effenberg, savar
at schuldeigen de, with some tweaks from me.  ok millert, tests ckuethe,
liked by some disliked by nobody, but he's not even a real user :)

Revision 1.12 / (download) - annotate - [select for diffs], Wed Dec 20 06:45:10 2006 UTC (17 years, 5 months ago) by steven
Branch: MAIN
CVS Tags: OPENBSD_4_1_BASE, OPENBSD_4_1
Changes since 1.11: +1 -2 lines
Diff to previous 1.11 (colored)

remove unneeded #include

ok mbalmer@ deraadt@

Revision 1.11 / (download) - annotate - [select for diffs], Thu Jan 20 04:21:42 2005 UTC (19 years, 4 months ago) by jaredy
Branch: MAIN
CVS Tags: OPENBSD_4_0_BASE, OPENBSD_4_0, OPENBSD_3_9_BASE, OPENBSD_3_9, OPENBSD_3_8_BASE, OPENBSD_3_8, OPENBSD_3_7_BASE, OPENBSD_3_7
Changes since 1.10: +40 -20 lines
Diff to previous 1.10 (colored)

- knf
- check read/write/etc. calls for errors
- use constants instead of hardcoded pathnames
- better variable types
- add usage output

suggestions from various, ok ian

Revision 1.10 / (download) - annotate - [select for diffs], Thu Jan 13 19:19:44 2005 UTC (19 years, 4 months ago) by ian
Branch: MAIN
Changes since 1.9: +2 -1 lines
Diff to previous 1.9 (colored)

Close what you open: obvious fix, ok jared@, more to follow

Revision 1.9 / (download) - annotate - [select for diffs], Mon Oct 20 21:10:19 2003 UTC (20 years, 7 months ago) by jmc
Branch: MAIN
CVS Tags: OPENBSD_3_6_BASE, OPENBSD_3_6, OPENBSD_3_5_BASE, OPENBSD_3_5
Changes since 1.8: +2 -2 lines
Diff to previous 1.8 (colored)

typos from Jared Yanovich, slightly ammended;

Revision 1.8 / (download) - annotate - [select for diffs], Thu Jul 10 00:06:50 2003 UTC (20 years, 10 months ago) by david
Branch: MAIN
CVS Tags: OPENBSD_3_4_BASE, OPENBSD_3_4
Changes since 1.7: +2 -1 lines
Diff to previous 1.7 (colored)

add missing includes
ok deraadt@ tedu@

Revision 1.7 / (download) - annotate - [select for diffs], Wed Jul 2 21:04:09 2003 UTC (20 years, 10 months ago) by deraadt
Branch: MAIN
Changes since 1.6: +3 -1 lines
Diff to previous 1.6 (colored)

protos

Revision 1.6 / (download) - annotate - [select for diffs], Tue Jun 10 22:20:44 2003 UTC (20 years, 11 months ago) by deraadt
Branch: MAIN
Changes since 1.5: +3 -7 lines
Diff to previous 1.5 (colored)

mostly ansi cleanup; pval ok

Revision 1.5 / (download) - annotate - [select for diffs], Mon Dec 9 00:45:38 2002 UTC (21 years, 5 months ago) by millert
Branch: MAIN
CVS Tags: OPENBSD_3_3_BASE, OPENBSD_3_3
Changes since 1.4: +2 -2 lines
Diff to previous 1.4 (colored)

From Andrushock, s/sucess/success/g

Revision 1.4 / (download) - annotate - [select for diffs], Sat Jul 1 19:54:36 2000 UTC (23 years, 10 months ago) by millert
Branch: MAIN
CVS Tags: OPENBSD_3_2_BASE, OPENBSD_3_2, OPENBSD_3_1_BASE, OPENBSD_3_1, OPENBSD_3_0_BASE, OPENBSD_3_0, OPENBSD_2_9_BASE, OPENBSD_2_9, OPENBSD_2_8_BASE, OPENBSD_2_8
Changes since 1.3: +67 -47 lines
Diff to previous 1.3 (colored)

Add -f option to specify audio device, honor AUDIODEVICE environment vairable,
and some KNF.

Revision 1.3 / (download) - annotate - [select for diffs], Sun Jan 5 19:00:51 1997 UTC (27 years, 4 months ago) by kstailey
Branch: MAIN
CVS Tags: OPENBSD_2_7_BASE, OPENBSD_2_7, OPENBSD_2_6_BASE, OPENBSD_2_6, OPENBSD_2_5_BASE, OPENBSD_2_5, OPENBSD_2_4_BASE, OPENBSD_2_4, OPENBSD_2_3_BASE, OPENBSD_2_3, OPENBSD_2_2_BASE, OPENBSD_2_2, OPENBSD_2_1_BASE, OPENBSD_2_1
Changes since 1.2: +2 -2 lines
Diff to previous 1.2 (colored)

minor tweaks; htonl() -> ntohl(); added SEE ALSO

Revision 1.2 / (download) - annotate - [select for diffs], Fri Jan 3 21:05:28 1997 UTC (27 years, 4 months ago) by kstailey
Branch: MAIN
Changes since 1.1: +2 -3 lines
Diff to previous 1.1 (colored)

removed unnecessary test

Revision 1.1 / (download) - annotate - [select for diffs], Thu Jan 2 22:12:27 1997 UTC (27 years, 4 months ago) by kstailey
Branch: MAIN

new utility for playing sound files

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.