Up to [local] / src / usr.bin / aucat
Request diff between arbitrary revisions
Default branch: MAIN
Revision 1.15, Tue Nov 12 06:47:34 2013 UTC (10 years, 7 months ago) by ratchov
Branch: MAIN
CVS Tags: HEAD
Changes since 1.14: +1 -1 lines
FILE REMOVED
remove bogus legacy server-specific bits that cause confusion
Revision 1.14 / (download) - annotate - [select for diffs], Wed Jun 27 06:53:13 2012 UTC (11 years, 11 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.13: +10 -17 lines
Diff to previous 1.13 (colored)
Uniformize error messages printing, use err() instead of fprintf() when appropriate. From Michael W. Bombardieri <mb at ii.net>
Revision 1.13 / (download) - annotate - [select for diffs], Wed Apr 11 06:05:43 2012 UTC (12 years, 2 months ago) by ratchov
Branch: MAIN
Changes since 1.12: +4 -4 lines
Diff to previous 1.12 (colored)
Use "unsigned int" rather than "unsigned". No object change. suggested by deraadt@
Revision 1.12 / (download) - annotate - [select for diffs], Tue Nov 15 08:05:22 2011 UTC (12 years, 6 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_5_1_BASE,
OPENBSD_5_1
Changes since 1.11: +14 -25 lines
Diff to previous 1.11 (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.11 / (download) - annotate - [select for diffs], Wed Oct 12 07:20:04 2011 UTC (12 years, 8 months ago) by ratchov
Branch: MAIN
Changes since 1.10: +29 -19 lines
Diff to previous 1.10 (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.10 / (download) - annotate - [select for diffs], Tue Jul 6 01:12:45 2010 UTC (13 years, 11 months 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.9: +4 -1 lines
Diff to previous 1.9 (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.9 / (download) - annotate - [select for diffs], Fri Jun 4 06:15:28 2010 UTC (14 years ago) by ratchov
Branch: MAIN
Changes since 1.8: +9 -2 lines
Diff to previous 1.8 (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.8 / (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.7: +3 -2 lines
Diff to previous 1.7 (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.7 / (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.6: +30 -12 lines
Diff to previous 1.6 (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.6 / (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.5: +11 -29 lines
Diff to previous 1.5 (colored)
backout last change, committed by mistake, sorry...
Revision 1.5 / (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.4: +30 -12 lines
Diff to previous 1.4 (colored)
doc fixes from jmc
Revision 1.4 / (download) - annotate - [select for diffs], Sun Jan 10 21:47:41 2010 UTC (14 years, 5 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_4_7_BASE,
OPENBSD_4_7
Changes since 1.3: +30 -1 lines
Diff to previous 1.3 (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.3 / (download) - annotate - [select for diffs], Tue Nov 3 21:31:37 2009 UTC (14 years, 7 months ago) by ratchov
Branch: MAIN
Changes since 1.2: +4 -2 lines
Diff to previous 1.2 (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.2 / (download) - annotate - [select for diffs], Sun Sep 27 11:51:20 2009 UTC (14 years, 8 months ago) by ratchov
Branch: MAIN
Changes since 1.1: +1 -12 lines
Diff to previous 1.1 (colored)
remove all debug traces
Revision 1.1 / (download) - annotate - [select for diffs], Sat Jul 25 08:44:27 2009 UTC (14 years, 10 months ago) by ratchov
Branch: MAIN
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@