Up to [local] / src / usr.bin / aucat
Request diff between arbitrary revisions
Default branch: MAIN
Revision 1.22, Wed Apr 27 21:20:36 2011 UTC (13 years ago) by ratchov
Branch: MAIN
CVS Tags: HEAD
Changes since 1.21: +1 -1 lines
FILE REMOVED
move amsg.h containing protocol defs from aucat side to libsndio side. requested by deraadt
Revision 1.21 / (download) - annotate - [select for diffs], Wed Apr 27 20:33:40 2011 UTC (13 years ago) by deraadt
Branch: MAIN
Changes since 1.20: +2 -1 lines
Diff to previous 1.20 (colored)
needs signal.h, too
Revision 1.20 / (download) - annotate - [select for diffs], Sat Apr 16 11:24:18 2011 UTC (13 years, 1 month ago) by ratchov
Branch: MAIN
Changes since 1.19: +2 -12 lines
Diff to previous 1.19 (colored)
Since aucat supports any parameter combination sio_getcap() doesn't need to query the server for supported parameters. So stop using the AMSG_GETCAP message, and remove it completely from the aucat protocol.
Revision 1.19 / (download) - annotate - [select for diffs], Sat Apr 16 10:52:22 2011 UTC (13 years, 1 month ago) by ratchov
Branch: MAIN
Changes since 1.18: +2 -2 lines
Diff to previous 1.18 (colored)
Make aucat audio and midi backends share the same code to communicate with the server. As we're at it use the same protocol for midi and audio. Now, both audio and midi code use the same SNDIO_DEBUG environment variable to turn on/off DPRINTF's.
Revision 1.18 / (download) - annotate - [select for diffs], Thu Oct 21 18:57:42 2010 UTC (13 years, 7 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_4_9_BASE,
OPENBSD_4_9
Changes since 1.17: +3 -11 lines
Diff to previous 1.17 (colored)
use MODE_xxx and XRUN_xxx macros everywhere, and zap corresponding AMSG_xxx macros, which in turns simplifies the code
Revision 1.17 / (download) - annotate - [select for diffs], Sat Jun 5 12:45:48 2010 UTC (13 years, 11 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_4_8_BASE,
OPENBSD_4_8
Changes since 1.16: +8 -7 lines
Diff to previous 1.16 (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.16 / (download) - annotate - [select for diffs], Tue Apr 6 20:19:42 2010 UTC (14 years, 1 month ago) by ratchov
Branch: MAIN
Changes since 1.15: +2 -2 lines
Diff to previous 1.15 (colored)
bump (private) protocol version number
Revision 1.15 / (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.14: +3 -2 lines
Diff to previous 1.14 (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.14 / (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.13: +1 -2 lines
Diff to previous 1.13 (colored)
backout last change, committed by mistake, sorry...
Revision 1.13 / (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.12: +3 -2 lines
Diff to previous 1.12 (colored)
doc fixes from jmc
Revision 1.12 / (download) - annotate - [select for diffs], Thu Oct 22 21:41:30 2009 UTC (14 years, 6 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_4_7_BASE,
OPENBSD_4_7
Changes since 1.11: +2 -2 lines
Diff to previous 1.11 (colored)
When starting playback, the client tries to write ``bufsz'' frames instead of ``appbufsz'', which violates the flow control mechanism. Fix this longstanding bug by enabling negative values in AMSG_MOVE messages, this way the client is notified when its stream is attached to the mixer, and can update its max transfer limit. Since this fix changes the AMSG_MOVE message format, we crank the protocol version, and thus remove code specific to the old protocol.
Revision 1.11 / (download) - annotate - [select for diffs], Sat Oct 17 10:55:43 2009 UTC (14 years, 7 months ago) by ratchov
Branch: MAIN
Changes since 1.10: +4 -2 lines
Diff to previous 1.10 (colored)
Add version number to aucat protocol. It's not used yet, but later, it will permit aucat to reject connections from clients statically linked to a unsupported version of libsndio. idea from kittenis, otto and sthen
Revision 1.10 / (download) - annotate - [select for diffs], Fri Aug 28 06:37:06 2009 UTC (14 years, 8 months ago) by ratchov
Branch: MAIN
Changes since 1.9: +2 -1 lines
Diff to previous 1.9 (colored)
add a new AMSG_BYE, sent by the client to requst the server to free resources and drop the connection. This allows the client to ensuire that at any time it's using only one connection, thus only one MIDI control channel.
Revision 1.9 / (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.8: +5 -5 lines
Diff to previous 1.8 (colored)
fix comments, remove no longer needed declaration, reorder includes from Thomas Pfaff
Revision 1.8 / (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.7: +3 -2 lines
Diff to previous 1.7 (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.7 / (download) - annotate - [select for diffs], Sat May 16 12:20:31 2009 UTC (15 years ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_4_6_BASE,
OPENBSD_4_6
Changes since 1.6: +2 -2 lines
Diff to previous 1.6 (colored)
use the ``hello'' message a to set the device mode, and thus make it mandatory. Old legacy clients setting the mode with sio_setpar() are still working thanks to small hack.
Revision 1.6 / (download) - annotate - [select for diffs], Sat May 16 11:15:26 2009 UTC (15 years ago) by ratchov
Branch: MAIN
Changes since 1.5: +16 -4 lines
Diff to previous 1.5 (colored)
add a new ``hello'' message to aucat protocol useful to work on future aucat extentions. No functional changes.
Revision 1.5 / (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_5_BASE,
OPENBSD_4_5
Changes since 1.4: +4 -4 lines
Diff to previous 1.4 (colored)
style and typos fixes from Thomas Pfaff
Revision 1.4 / (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.3: +2 -2 lines
Diff to previous 1.3 (colored)
spacing + typo fix from Matt Jibson <matt.jibson(at)gmail.com>
Revision 1.3 / (download) - annotate - [select for diffs], Wed Dec 17 07:19:27 2008 UTC (15 years, 5 months ago) by ratchov
Branch: MAIN
Changes since 1.2: +5 -4 lines
Diff to previous 1.2 (colored)
add a writable ``appbufsz'' field to the sa_par structure, containing the program-part of the buffer size, ie the part that is subject to underruns. Useful for apps like cdio(1) that don't have their own rings, or to apps that have a minimum ring size constraint. Setting the ``bufsz'' parameter becomes deprecated. ok jakemsr
Revision 1.2 / (download) - annotate - [select for diffs], Tue Nov 11 19:21:20 2008 UTC (15 years, 6 months ago) by ratchov
Branch: MAIN
Changes since 1.1: +5 -1 lines
Diff to previous 1.1 (colored)
expose the volume knob in server mode too
Revision 1.1 / (download) - annotate - [select for diffs], Sun Oct 26 08:49:43 2008 UTC (15 years, 6 months ago) by ratchov
Branch: MAIN
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.