summaryrefslogtreecommitdiff
path: root/lib/libsndio
AgeCommit message (Collapse)Author
2009-07-27don't use ``return'' in sio_close() and mio_close()Alexandre Ratchov
2009-07-26more style improvemets, from Thomas PfaffAlexandre Ratchov
2009-07-26use ``sizeof(string) - 1'' rather than ``strlen(string)'' on staticAlexandre Ratchov
strings. suggested by Thomas Pfaff
2009-07-26remove the (bogus) special case when mio_open() is called withAlexandre Ratchov
a midi device name starting with a separator
2009-07-26rephrase description of (MIO_IN | MIO_OUT) modeAlexandre Ratchov
from Thomas Pfaff, ok jmc@
2009-07-26Make ``static'' few functions that are prototyped as static but are notAlexandre Ratchov
defined as such from Thomas Pfaff
2009-07-26sort and space headers as per style(9)Alexandre Ratchov
from Thomas Pfaff
2009-07-25use const qualifier in libsndio, making it slightly more consistentAlexandre Ratchov
with open(2) and write(2) syscalls. from Thomas Pfaff, jakemsr is fine with it
2009-07-25add sndio.7, forgotten in last commitAlexandre Ratchov
spotted by jasper@
2009-07-25Currently midi capable programs can control midi hardware, butAlexandre Ratchov
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@
2009-05-16don't set mode in sio_setpar(), already done at initializationAlexandre Ratchov
2009-05-16add a new ``hello'' message to aucat protocol useful to work onAlexandre Ratchov
future aucat extentions. No functional changes.
2009-05-16fix style to make future diffs contain functional changes onlyAlexandre Ratchov
2009-05-16in aucat_getpar() and aucat_getcap(), initialize the message to sendAlexandre Ratchov
with AMSG_INIT(), rather than the reply we expect.
2009-05-15cleanup forgotten calls to exit(3)Alexandre Ratchov
2009-05-15replace s/sa/sio/, left from when libsa was renamed to libsndioAlexandre Ratchov
2009-05-15in headers, macro definitions come first, prototypes come nextAlexandre Ratchov
2009-05-15if DEBUG is defined, use a global debug level ratherAlexandre Ratchov
than a per-stream debug level. No behaviour change.
2009-05-15describe sio_getcap(), sio_pollfd() and sio_setvol() retrurn valuesAlexandre Ratchov
spotted by Philipp Schafft
2009-04-21no need to install includes from here anymoreTheo de Raadt
2009-04-21move src/lib/libsndio/sndio.h into src/include where other includeAlexandre Ratchov
files leave. requested by deraadt@, ok miod@
2009-04-13protypes in sndio.h make reference to struct pollfd; applicationsAlexandre Ratchov
that don't use sys/poll.h, wont compile with gcc2. Fix this by declaring the pollfd structure spotted by and ok deraadt
2009-02-26don't use ``hdl->filling'' flag uninitializedAlexandre Ratchov
ok deraadt
2009-02-25after the STOP message is sent, move the receiver to the RMSG stateAlexandre Ratchov
only if it's in the IDLE state, otherwise in some rare cases a data chunk may be interpreted as a message, causing the connection to be dropped. ok deraadt
2009-02-18in aucat_stop(), after the STOP message was send, put the receiverAlexandre Ratchov
in ``waiting state'', otherwise the ACK message will be skipped, and the other functions not expecting ACKs might be confused by the ACK.
2009-02-09ignore evironment variables if the program is setuid or setgidAlexandre Ratchov
explained by deraadt, ok miod, ok millert
2009-02-04update the default socket paths, to reflect recent aucat changesAlexandre Ratchov
2009-02-04explain that it's ok if we get a slightly different rate thanAlexandre Ratchov
the one we asked for, from Thomas Pfaff <tpfaff(at)tp76.info> with tweaks from jmc@
2009-02-04Programs have no direct access do the device file descriptor. So, ifAlexandre Ratchov
the programs calls execvp(2), the new image can't use the device, which stays open, so other programs get EBUSY. Set the close-on-exec flag to avoid this. ok jakemsr
2009-02-03in server mode, create /tmp/aucat-userid/ directory withAlexandre Ratchov
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
2009-01-21fix bugs section: clarify that sio_start() and sio_stop() shouldAlexandre Ratchov
not be used if blocking is not desirable.
2009-01-21explain what ``frame'' does meanAlexandre Ratchov
from Thomas Pfaff <tpfaff(at)tp76.info>, thanks! ok jmc
2009-01-21make declarations "C" to allow c++ code to compileAlexandre Ratchov
discussed with espie@, ok jakemsr@ and millert@
2009-01-17cleanup: remove prototypes of inexistent functions, move few privateAlexandre Ratchov
functions into private header file. suggested by espie@
2009-01-12replace s/routine/function/, as other manuals doAlexandre Ratchov
from Thomas Pfaff <tpfaff(at)tp76.info>, thanks! ok jmc@
2009-01-10make all private functions staticAlexandre Ratchov
2009-01-08oops, i messed up tim's patch; correction from Tim van der MolenJason McIntyre
2009-01-08a little macro cleanup; from Tim van der MolenJason McIntyre
2008-12-27when polling aucat(1) socket, don't set the POLLIN bit if weAlexandre Ratchov
don't expect messages. Avoids busy loops in programs calling poll(2) on a stopped device.
2008-12-27when using the aucat(1) backend, don't mask the POLLHUP bitAlexandre Ratchov
even if the device is not started yet. This way, if the server is killed programs can notice it.
2008-12-21remove mixer bits from the audio(4) backend of libsndio, it's notAlexandre Ratchov
possible to get them right in the current state of the mixer. discussed with jakemsr
2008-12-21fix more spelling errors and typos,Alexandre Ratchov
from Thomas Pfaff <tpfaff(at)@tp76.info>, thanks
2008-12-17stop using stderr in the library, wrap all diagnostic fprintfsAlexandre Ratchov
so they are visible only when the DEBUG macro is #defined and SIO_DEBUG env. variable is set. requested by many, discussed with jakemsr
2008-12-17tweak previous;Jason McIntyre
2008-12-17fix spell errors, from Thomas Pfaff <tpfaff(at)tp76.info>, thanks!Alexandre Ratchov
2008-12-17add a writable ``appbufsz'' field to the sa_par structure, containingAlexandre Ratchov
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
2008-11-20make both aucat(1) and audio(4) backends use the AUDIODEVICE envAlexandre Ratchov
variable to determine the socket or the device to use. Allow choosing the when aucat(1) is used too. Noticed and tested by naddy@
2008-11-20while setting the block size, try smaller blocks half of the retries andAlexandre Ratchov
larger blocks the other half. That's because shrinking the block size may not be the right direction to go to find a common block size for play and record.
2008-11-17occures -> occurs;Jason McIntyre
2008-11-17allow aucat to run as server in play-only and record-only mode, soAlexandre Ratchov
it can be used on play-only, record-only and half-duplex devices. ok jakemsr