summaryrefslogtreecommitdiff
path: root/usr.bin/aucat
AgeCommit message (Collapse)Author
2011-11-15add missing full stop;Jason McIntyre
2011-11-15Add a "device number" component in sndio(7) device names, allowing aAlexandre Ratchov
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.
2011-10-24mention that -aoff is not the default for the default deviceAlexandre Ratchov
2011-10-18keep the device closed by default (when not used)Alexandre Ratchov
2011-10-18remove duplicate options in getopt() stringAlexandre Ratchov
2011-10-17Remove midicat since aucat can now be used instead of midicatAlexandre Ratchov
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
2011-10-14s/chuck/chunk/, from Remco, thanks!Alexandre Ratchov
2011-10-12- avoid line wrapping an exampleJason McIntyre
- sort usage() for midicat - tweak a bit of unclear wording ok ratchov
2011-10-12Simplify and improve the way options are parsed and remove ~300 linesAlexandre Ratchov
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
2011-06-30switch to license in /usr/share/misc/license.templateAlexandre Ratchov
2011-06-29make -u flag per-device similarly to -a and -wAlexandre Ratchov
2011-06-27remove two forgotten debug printf()sAlexandre Ratchov
2011-06-27Display the CPU usage when -ddddd is used, ie the time spent onAlexandre Ratchov
calculations compared to the time spend on sleeping in poll().
2011-06-27expose audio client names through sysex messages, this way anyAlexandre Ratchov
midi client could determine which volume knob corresponds to which client. Such sysex messages are ignored by hardware or software that don't understand them
2011-06-20Make -aoff option apply to MIDI ports (-q) as well, ensuring the deviceAlexandre Ratchov
stays closed also if -q is used. As we're at it, add -a to midicat so it behaves like aucat.
2011-06-03Allow device encoding to be set if -u is also used. Useful to degradeAlexandre Ratchov
quality to save bandwith when a remote audio device is used.
2011-06-03factor tests for f->opt->join flag, no behaviour changeAlexandre Ratchov
2011-06-03Clarify that the ratio between sample rate and block sizeAlexandre Ratchov
is the MTC clock rate. Suggested by Alexey Suslikov
2011-06-03Reorganize the way command line options are parsed and stored.Alexandre Ratchov
No behaviour change.
2011-06-03update EXAMPLES to use "-joff", since "-jon" is the defaultAlexandre Ratchov
found by peters at schwertfisch.de, thanks
2011-06-02If there are no descriptors to poll, just sleep until SIGALRMAlexandre Ratchov
is posted and then update all timers and restart the event loop. Fixes throtteling while midi inputs are drained.
2011-06-02close midi control ports and thru boxes only when there are noAlexandre Ratchov
inputs anymore, to ensure data is drained
2011-06-02don't exit from the main loop if there are pending time outs.Alexandre Ratchov
Fixes midi inputs not being properly drained when they are temporarily blocked to limit input data rate
2011-05-26tweak previous;Jason McIntyre
2011-05-26slightly clarify -v option descriptionAlexandre Ratchov
2011-05-26make clipping less ugly, from Sviatoslav ChagaevAlexandre Ratchov
2011-05-26add a new -w flag to control whether master volume is automaticallyAlexandre Ratchov
adjusted when new streams are connected and disconnected. Disabling automatic volume adjustment makes sense if all streams are recorded with properly lowered volumes.
2011-05-23postion -> position;Jason McIntyre
2011-05-10fix option handling and enable TCP in midicatAlexandre Ratchov
from peters at schwertfisch.de, thanks!
2011-05-09move all hardcoded offsets and constants relative to midi systemAlexandre Ratchov
exclusive messages in a nice sysex.h file. No behaviour change.
2011-05-09initialize 'pstate' field of the wav structureAlexandre Ratchov
2011-05-03If the string of the address to listen on is '-' then listen on allAlexandre Ratchov
addresses (ie pass NULL to getaddrinfo which would return 0.0.0.0 and :: in most cases)
2011-05-02Add missing byter order conversions in message headers. Fixes the caseAlexandre Ratchov
when the server and the client are not of the same endianness. Found by naddy.
2011-05-02set the TCP_NODELAY option for TCP connectionsAlexandre Ratchov
2011-05-02fix string containing state names used for debug printf()s,Alexandre Ratchov
add the missing SOCK_AUTH state
2011-04-28- slight tweak for FILESJason McIntyre
- reword EXAMPLES a little, for readability
2011-04-28remove deadcode, use err(1, "%s", str) instead of err(1, str)Alexandre Ratchov
from Michael W. Bombardieri <mb at ii.net>, thanks!
2011-04-28Implement a new authentication method allowing aucat and midicat toAlexandre Ratchov
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
2011-04-27include signal.hAlexandre Ratchov
2011-04-27move amsg.h containing protocol defs from aucat side to libsndio side.Alexandre Ratchov
requested by deraadt
2011-04-27needs signal.h, tooTheo de Raadt
2011-04-27use more volatile sig_atomic_t in signal handlersTheo de Raadt
ok ratchov
2011-04-19don't hold a pointer to "listen" structure. Instead, when it mustAlexandre Ratchov
be free()ed, iterate over the file_list, and find the structure to free. This is safer and simpler. No behaviour change
2011-04-18reorder macros, no object changeAlexandre Ratchov
2011-04-16use "aucatN" for aucat(1) socket path and "midicatN" for midicat(1),Alexandre Ratchov
no need to increase entropy by inventing new names. Don't forget to rebuild libsndio after this change
2011-04-16for unix domain socket addresses use AUCAT_PATH and MIDICAT_PATHAlexandre Ratchov
macros instead of hardcoded strings. No object change
2011-04-16Since aucat supports any parameter combination sio_getcap() doesn'tAlexandre Ratchov
need to query the server for supported parameters. So stop using the AMSG_GETCAP message, and remove it completely from the aucat protocol.
2011-04-16Make aucat audio and midi backends share the same code to communicateAlexandre Ratchov
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.
2011-04-08When a message is read (and processed), always call sock_write(), toAlexandre Ratchov
send any pending messages resulting from the processing (ACKs, position changes, volume changes). In theory the previous approach didn't ensuire that outgoing messages are not reordered.
2011-03-21grammar fixes from Michael W. Bombardieri; also emphasize stderr, asOkan Demirmen
most pages do already. ok jmc@ ratchov@