| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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@
|
| |
|
|
|
|
| |
future aucat extentions. No functional changes.
|
| |
|
|
|
|
| |
with AMSG_INIT(), rather than the reply we expect.
|
| |
|
| |
|
| |
|
|
|
|
| |
than a per-stream debug level. No behaviour change.
|
|
|
|
| |
spotted by Philipp Schafft
|
| |
|
|
|
|
|
|
| |
files leave.
requested by deraadt@, ok miod@
|
|
|
|
|
|
|
| |
that don't use sys/poll.h, wont compile with gcc2. Fix this by
declaring the pollfd structure
spotted by and ok deraadt
|
|
|
|
| |
ok deraadt
|
|
|
|
|
|
|
| |
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 ``waiting state'', otherwise the ACK message will be skipped,
and the other functions not expecting ACKs might be confused by
the ACK.
|
|
|
|
| |
explained by deraadt, ok miod, ok millert
|
| |
|
|
|
|
|
| |
the one we asked for, from Thomas Pfaff <tpfaff(at)tp76.info>
with tweaks from jmc@
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
not be used if blocking is not desirable.
|
|
|
|
|
| |
from Thomas Pfaff <tpfaff(at)tp76.info>, thanks!
ok jmc
|
|
|
|
| |
discussed with espie@, ok jakemsr@ and millert@
|
|
|
|
|
| |
functions into private header file.
suggested by espie@
|
|
|
|
|
| |
from Thomas Pfaff <tpfaff(at)tp76.info>, thanks!
ok jmc@
|
| |
|
| |
|
| |
|
|
|
|
|
| |
don't expect messages. Avoids busy loops in programs calling
poll(2) on a stopped device.
|
|
|
|
|
| |
even if the device is not started yet. This way, if the server
is killed programs can notice it.
|
|
|
|
|
| |
possible to get them right in the current state of the mixer.
discussed with jakemsr
|
|
|
|
| |
from Thomas Pfaff <tpfaff(at)@tp76.info>, thanks
|
|
|
|
|
|
| |
so they are visible only when the DEBUG macro is #defined
and SIO_DEBUG env. variable is set.
requested by many, discussed with jakemsr
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
variable to determine the socket or the device to use. Allow
choosing the when aucat(1) is used too. Noticed and
tested by naddy@
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
it can be used on play-only, record-only and half-duplex devices.
ok jakemsr
|
| |
|
|
|
|
| |
if the connection to the server is lost.
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
to the backend to avoid reporing the device as writable when it's
stopped. Solves 100% CPU usage of apps poll()ing a stopped device.
|
| |
|
|
|
|
|
|
|
| |
and thus remove the ugly rate <-> block-size table from
sio_setpar(3). Handle the block size negociation in aucat(1), since
it has few constrains the code is overally simpler.
ok jakemsr@, major crank suggested by deraadt@
|
|
|
|
|
|
|
|
|
| |
and block based audio i/o (arithmetic constraints). For now round the
frequency to a supported one, (ie 8kHz, 11.025kHz, 12kHz multiple), and get
the the block size from a table.
fixes problem reported by Robert <robert _at_ openbsd.pap.st>
ok jakemsr
|