Age | Commit message (Collapse) | Author | |
---|---|---|---|
2009-10-12 | sort flags in description. | Igor Sobrado | |
2009-10-10 | don't use a references to the device file to check the current mode | Alexandre Ratchov | |
2009-10-10 | make dev_done() common to audio and MIDI, and drop dev_thrudone() | Alexandre Ratchov | |
2009-10-10 | use dev_done() for loopback devices too and remove dev_loopdone() | Alexandre Ratchov | |
2009-10-10 | We don't need independent file reader and writer anymore. So, | Alexandre Ratchov | |
destroy reader when writer terminates and destroy writer when reader terminates. This simplifies a lot the way we drain audio devices and will help simplifying other parts. | |||
2009-10-09 | Make abuf structure smaller: | Alexandre Ratchov | |
- put aproc-specific parameters into unions since they are never used together - remove constant ``data'' pointer always pointing the end of the abuf structure | |||
2009-10-06 | prevent aproc structures to be deleted twice. Doesn't change anything | Alexandre Ratchov | |
for now but will be used in future code. | |||
2009-10-05 | add -d flag. When started in server mode, if the -d flag is | Alexandre Ratchov | |
used aucat and midicat don't daemonize and log on stderr. | |||
2009-09-27 | remove all debug traces | Alexandre Ratchov | |
2009-09-19 | if pipe_read() returns 0 we are at EOF and the structure describing | Jacob Meuser | |
the pipe will be free()d, so don't try to access the structure. ok ratchov | |||
2009-09-19 | if the device is dying, don't try to stop it, otherwise this would | Alexandre Ratchov | |
trigger the code to free() it, which will try to stop it, and so on | |||
2009-09-19 | tag the device as stopped even if sio_stop() failed (ie. device | Alexandre Ratchov | |
is disconnected). This way, when it's ``file'' structure is free()'d, we don't try to stop it again. | |||
2009-08-29 | accept ``common'' messages (including system explusive) on the | Alexandre Ratchov | |
control MIDI port. | |||
2009-08-28 | add a new AMSG_BYE, sent by the client to requst the server to | Alexandre Ratchov | |
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. | |||
2009-08-28 | top device before closing it. It's necessary to ensure that if we | Alexandre Ratchov | |
are using another instance of aucat as device, the server closes the connection before we open a new one. | |||
2009-08-27 | don't discard the initial volume change message; now it matters | Alexandre Ratchov | |
because the initial volume may not be MIDI_MAXCTL | |||
2009-08-27 | when an audio program connects to aucat, restore the volume it | Alexandre Ratchov | |
had the last time. For instance, this fixes the problem of programs reopenning the connection to aucat very often and thus resetting the volume setting all the time. | |||
2009-08-26 | when allocating the midi channel for the volume control of a new | Alexandre Ratchov | |
client, pick the oldest unused channel rather than the first found. This way new clients don't reuse channels of recently used applications, thus improving a lot the client<->channel affinity. | |||
2009-08-26 | oops, forgot to update usage(); | Jason McIntyre | |
2009-08-26 | don't mess with audio internals from within the midi bits. Instead | Alexandre Ratchov | |
use a call-back interface. This allows easily sending volume changes feedback to audio applications. | |||
2009-08-25 | sub-devices exposed by aucat and sockets it's listening on are | Alexandre Ratchov | |
no longer the same. Rephrase ``audio(4) device or aucat(1) socket'' as ``sndio(7) audio device''. suggested by oga@, tweaks from jmc@ | |||
2009-08-23 | Make aucat remember the control channel number a client is using. When the | Alexandre Ratchov | |
client connects again later, assign the same channel to it. This way applications always get the same fader on MIDI control surfaces. | |||
2009-08-21 | tweak previous; | Jason McIntyre | |
2009-08-21 | make aucat(1) expose a MIDI device to control server behaviour in | Alexandre Ratchov | |
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. | |||
2009-08-19 | don't try to process -o arguments using the input file list, fixes | Alexandre Ratchov | |
midicat crashing sometimes when -o is used | |||
2009-08-19 | organize midi code like audio code, no functional change | Alexandre Ratchov | |
2009-08-17 | allow midicat to take multiple -i and -o options | Alexandre Ratchov | |
2009-08-17 | if one or more MIDI devices are specified in server mode, subscribe | Alexandre Ratchov | |
them to the MIDI thru box | |||
2009-07-25 | sio_open returns a pointer so the < 0 comparison is wrong | Alexandre Ratchov | |
from Thomas Pfaff, thanks | |||
2009-07-25 | fix comments, remove no longer needed declaration, reorder includes | Alexandre Ratchov | |
from Thomas Pfaff | |||
2009-07-25 | Currently midi capable programs can control midi hardware, but | Alexandre 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-07-19 | missing va_end in abuf_dprn. ok ratchov@ | Martynas Venckus | |
2009-06-04 | don't trust the compiler to generate warnings we care about, | Jonathan Gray | |
remove -Werror. ok ratchov@ | |||
2009-05-16 | use the ``hello'' message a to set the device mode, and thus make | Alexandre Ratchov | |
it mandatory. Old legacy clients setting the mode with sio_setpar() are still working thanks to small hack. | |||
2009-05-16 | add a new ``hello'' message to aucat protocol useful to work on | Alexandre Ratchov | |
future aucat extentions. No functional changes. | |||
2009-05-09 | clarify what happens if no device is specified and/or no | Alexandre Ratchov | |
sockets are specified, with help from jmc@ | |||
2009-04-27 | make -v option apply also to implicit default socket | Alexandre Ratchov | |
2009-04-22 | move support for ulaw/alaw encoding in .wav files from legacy mode | Alexandre Ratchov | |
to normal mode. ok jakemsr@ | |||
2009-04-11 | - make legacy mode use sio_open(3) (sndio) API | Jacob Meuser | |
- parse .au headers in legacy mode - support playback of ulaw and alaw encoded .au and .wav files in legacy mode ok ratchov | |||
2009-04-10 | avoid Xr to self; | Jason McIntyre | |
2009-04-10 | Explain the AUDIODEVICE env. variable similarly to how sio_open(3) does. | Alexandre Ratchov | |
discussed with jmc@ | |||
2009-03-17 | - rename the arg to -b "nframes" and sync usage() | Jason McIntyre | |
- grammar fix for the server section from Thomas Pfaff ok ratchov | |||
2009-03-17 | DESCRIPTION should also note aucat's ability to act as a server | Alexandre Ratchov | |
from jmc@ | |||
2009-03-15 | fix a couple comment typos | Jacob Meuser | |
2009-03-12 | in full-duplex, don't send AMSG_MOVE messages twice; instead, | Alexandre Ratchov | |
send only the record direction one. spotted by jakemsr | |||
2009-02-27 | say that aucat can act as audio server in the NAME section | Alexandre Ratchov | |
ok jmc | |||
2009-02-13 | style and typos fixes from Thomas Pfaff | Alexandre Ratchov | |
2009-02-06 | simplify the clock tick messages generation code and ensuire that | Alexandre Ratchov | |
the first clock tick (ie the start tick) is not lost | |||
2009-02-06 | move error messages reported to user into main() | Alexandre Ratchov | |
2009-02-04 | if there are too many connections, stop acceping new ones rather | Alexandre Ratchov | |
than exit()ing with ``too many open files'' fatal error |