summaryrefslogtreecommitdiffstats
path: root/lib/libsndio/aucat.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* when using aucat backend, wait for the server to drop the connectionratchov2009-08-281-2/+7
| | | | on sio_close()
* add a new AMSG_BYE, sent by the client to requst the server toratchov2009-08-281-1/+7
| | | | | | 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.
* handle incoming AMSG_SETVOL messages, allows the client to be notifiedratchov2009-08-261-1/+7
| | | | of volume changes
* sort and space headers as per style(9)ratchov2009-07-261-2/+4
| | | | from Thomas Pfaff
* use const qualifier in libsndio, making it slightly more consistentratchov2009-07-251-4/+4
| | | | | with open(2) and write(2) syscalls. from Thomas Pfaff, jakemsr is fine with it
* Currently midi capable programs can control midi hardware, butratchov2009-07-251-6/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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@
* don't set mode in sio_setpar(), already done at initializationratchov2009-05-161-2/+1
|
* add a new ``hello'' message to aucat protocol useful to work onratchov2009-05-161-5/+25
| | | | future aucat extentions. No functional changes.
* fix style to make future diffs contain functional changes onlyratchov2009-05-161-58/+58
|
* in aucat_getpar() and aucat_getcap(), initialize the message to sendratchov2009-05-161-3/+3
| | | | with AMSG_INIT(), rather than the reply we expect.
* replace s/sa/sio/, left from when libsa was renamed to libsndioratchov2009-05-151-27/+27
|
* if DEBUG is defined, use a global debug level ratherratchov2009-05-151-17/+17
| | | | than a per-stream debug level. No behaviour change.
* after the STOP message is sent, move the receiver to the RMSG stateratchov2009-02-251-3/+5
| | | | | | | 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
* in aucat_stop(), after the STOP message was send, put the receiverratchov2009-02-181-1/+3
| | | | | | in ``waiting state'', otherwise the ACK message will be skipped, and the other functions not expecting ACKs might be confused by the ACK.
* Programs have no direct access do the device file descriptor. So, ifratchov2009-02-041-1/+5
| | | | | | | | 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
* in server mode, create /tmp/aucat-userid/ directory withratchov2009-02-031-3/+9
| | | | | | | | | | | | 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
* make all private functions staticratchov2009-01-101-31/+31
|
* when polling aucat(1) socket, don't set the POLLIN bit if weratchov2008-12-271-2/+2
| | | | | don't expect messages. Avoids busy loops in programs calling poll(2) on a stopped device.
* when using the aucat(1) backend, don't mask the POLLHUP bitratchov2008-12-271-2/+2
| | | | | even if the device is not started yet. This way, if the server is killed programs can notice it.
* fix more spelling errors and typos,ratchov2008-12-211-4/+4
| | | | from Thomas Pfaff <tpfaff(at)@tp76.info>, thanks
* stop using stderr in the library, wrap all diagnostic fprintfsratchov2008-12-171-16/+16
| | | | | | so they are visible only when the DEBUG macro is #defined and SIO_DEBUG env. variable is set. requested by many, discussed with jakemsr
* fix spell errors, from Thomas Pfaff <tpfaff(at)tp76.info>, thanks!ratchov2008-12-171-3/+3
|
* add a writable ``appbufsz'' field to the sa_par structure, containingratchov2008-12-171-2/+3
| | | | | | | | 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
* allow aucat to run as server in play-only and record-only mode, soratchov2008-11-171-11/+18
| | | | | it can be used on play-only, record-only and half-duplex devices. ok jakemsr
* when the aucat backend is used, sio_revents(3) should return POLLHUPratchov2008-11-161-1/+3
| | | | if the connection to the server is lost.
* expose a volume knob in the sndio API: add sio_setvol(3) andratchov2008-11-111-42/+90
| | | | | | | sio_onvol(3) functions. The audio(4) backend tries to use the inputs.dac, outputs.dac, outputs.output and outputs.master controls (in this order). Add a sample file in regress/lib/libsndio/vol/vol.c
* rename libsa to libsndioratchov2008-10-271-0/+528
requested by many, "just go for it" deraadt@