summaryrefslogtreecommitdiffstats
path: root/lib/libsndio/mio.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Make the "default" string a valid device name that has the same effectratchov2012-05-231-3/+9
| | | | | as NULL has. This will (hopefully) simplify ports where the user passes the device string.
* Use "unsigned int" rather than "unsigned". No object change.ratchov2012-04-111-3/+4
| | | | suggested by deraadt@
* Add a "device number" component in sndio(7) device names, allowing aratchov2011-11-151-23/+11
| | | | | | | | | | | | | | | | 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.
* Remove midicat since aucat can now be used instead of midicatratchov2011-10-171-3/+3
| | | | | | | | | 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
* remove almost two years old hack to support legacy audio/midiratchov2011-05-061-13/+4
| | | | device names
* Make aucat audio and midi backends share the same code to communicateratchov2011-04-161-15/+4
| | | | | | 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.
* Use mio_<backend>_ prefix for private midi-related functions and putratchov2011-04-121-7/+7
| | | | | them in files named mio_<backend>.c No behaviour change.
* remove trailing spaces, from Alexandr Shadchin, thanksratchov2010-04-241-4/+4
|
* make aucat(1) expose a MIDI device to control server behaviour inratchov2009-08-211-1/+5
| | | | | | realtime. For now only the playback volume of individual streams can be changed/monitored. To each stream is assigned a MIDI channel; the volume is changed/monitored using the standard controller number 7.
* don't use ``return'' in sio_close() and mio_close()ratchov2009-07-271-2/+2
|
* use ``sizeof(string) - 1'' rather than ``strlen(string)'' on staticratchov2009-07-261-3/+3
| | | | strings. suggested by Thomas Pfaff
* remove the (bogus) special case when mio_open() is called withratchov2009-07-261-16/+1
| | | | a midi device name starting with a separator
* 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-3/+3
| | | | | 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-0/+184
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@