History log of /openbsd-current/include/sndio.h
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.14 29-Apr-2022 ratchov

Add sio_flush(3) function to stop playback immediately

The new sio_flush(3) functions works the same way as sio_stop(3),
except that it doesn't wait for play buffer to be drained. Instead,
it discards its contents and returns immediately.


Revision tags: OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE OPENBSD_7_1_BASE
# 1.13 28-Jun-2020 ratchov

Allow switching between alternate devices (-F option) with sndioctl(1)


# 1.12 28-Jun-2020 ratchov

Add a new SIOCTL_SEL control type to select one of a predefined set of
mutually exclusive values. It's the same as SIOCTL_LIST except that
exactly one list element may be selected.


# 1.11 18-Jun-2020 ratchov

Fix comments about sioctl_desc's maxval field


Revision tags: OPENBSD_6_7_BASE
# 1.10 26-Feb-2020 ratchov

Add API to control audio device parameters exposed by sndiod.

The API exposes controls of modern audio hardware and sndiod software
volume knobs in a uniform way. Hardware knobs are exposed through
sndiod. Multiple programs may use the controls at the same time
without the need to continuously scan the controls.

For now sndiod exposes only its own controls and the master output and
input volumes of the underlying hardware (if any), i.e. those
typically exposed by acpi volume keys.

ok deraadt


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.9 20-Dec-2015 ratchov

Expose internal functions necessary to open audio devices and midi
ports using existing file descriptors.


Revision tags: OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.8 22-Aug-2012 espie

hex constants unsigned, prevents some gcc warnings
okay ratchov@


Revision tags: OPENBSD_5_2_BASE
# 1.7 08-Jul-2012 ratchov

Include sys/types.h rather than sys/param.h to pull BYTE_ORDER macros.
suggested by deraadt@


# 1.6 23-May-2012 ratchov

Make the "default" string a valid device name that has the same effect
as NULL has. This will (hopefully) simplify ports where the user
passes the device string.


# 1.5 11-Apr-2012 ratchov

Use "unsigned int" rather than "unsigned". No object change.
suggested by deraadt@


Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE
# 1.4 06-Nov-2010 ratchov

make sio_onvol(3) return a integer exposing whether a volume knob
is available for the stream. As we're at it, remove macros and
functions that are neither used nor documented.


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE
# 1.3 25-Jul-2009 ratchov

use const qualifier in libsndio, making it slightly more consistent
with open(2) and write(2) syscalls.
from Thomas Pfaff, jakemsr is fine with it


# 1.2 25-Jul-2009 ratchov

Currently midi capable programs can control midi hardware, but
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@


Revision tags: OPENBSD_4_6_BASE
# 1.1 21-Apr-2009 ratchov

move src/lib/libsndio/sndio.h into src/include where other include
files leave.

requested by deraadt@, ok miod@


# 1.13 28-Jun-2020 ratchov

Allow switching between alternate devices (-F option) with sndioctl(1)


# 1.12 28-Jun-2020 ratchov

Add a new SIOCTL_SEL control type to select one of a predefined set of
mutually exclusive values. It's the same as SIOCTL_LIST except that
exactly one list element may be selected.


# 1.11 18-Jun-2020 ratchov

Fix comments about sioctl_desc's maxval field


Revision tags: OPENBSD_6_7_BASE
# 1.10 26-Feb-2020 ratchov

Add API to control audio device parameters exposed by sndiod.

The API exposes controls of modern audio hardware and sndiod software
volume knobs in a uniform way. Hardware knobs are exposed through
sndiod. Multiple programs may use the controls at the same time
without the need to continuously scan the controls.

For now sndiod exposes only its own controls and the master output and
input volumes of the underlying hardware (if any), i.e. those
typically exposed by acpi volume keys.

ok deraadt


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.9 20-Dec-2015 ratchov

Expose internal functions necessary to open audio devices and midi
ports using existing file descriptors.


Revision tags: OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.8 22-Aug-2012 espie

hex constants unsigned, prevents some gcc warnings
okay ratchov@


Revision tags: OPENBSD_5_2_BASE
# 1.7 08-Jul-2012 ratchov

Include sys/types.h rather than sys/param.h to pull BYTE_ORDER macros.
suggested by deraadt@


# 1.6 23-May-2012 ratchov

Make the "default" string a valid device name that has the same effect
as NULL has. This will (hopefully) simplify ports where the user
passes the device string.


# 1.5 11-Apr-2012 ratchov

Use "unsigned int" rather than "unsigned". No object change.
suggested by deraadt@


Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE
# 1.4 06-Nov-2010 ratchov

make sio_onvol(3) return a integer exposing whether a volume knob
is available for the stream. As we're at it, remove macros and
functions that are neither used nor documented.


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE
# 1.3 25-Jul-2009 ratchov

use const qualifier in libsndio, making it slightly more consistent
with open(2) and write(2) syscalls.
from Thomas Pfaff, jakemsr is fine with it


# 1.2 25-Jul-2009 ratchov

Currently midi capable programs can control midi hardware, but
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@


Revision tags: OPENBSD_4_6_BASE
# 1.1 21-Apr-2009 ratchov

move src/lib/libsndio/sndio.h into src/include where other include
files leave.

requested by deraadt@, ok miod@


# 1.11 18-Jun-2020 ratchov

Fix comments about sioctl_desc's maxval field


Revision tags: OPENBSD_6_7_BASE
# 1.10 26-Feb-2020 ratchov

Add API to control audio device parameters exposed by sndiod.

The API exposes controls of modern audio hardware and sndiod software
volume knobs in a uniform way. Hardware knobs are exposed through
sndiod. Multiple programs may use the controls at the same time
without the need to continuously scan the controls.

For now sndiod exposes only its own controls and the master output and
input volumes of the underlying hardware (if any), i.e. those
typically exposed by acpi volume keys.

ok deraadt


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.9 20-Dec-2015 ratchov

Expose internal functions necessary to open audio devices and midi
ports using existing file descriptors.


Revision tags: OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.8 22-Aug-2012 espie

hex constants unsigned, prevents some gcc warnings
okay ratchov@


Revision tags: OPENBSD_5_2_BASE
# 1.7 08-Jul-2012 ratchov

Include sys/types.h rather than sys/param.h to pull BYTE_ORDER macros.
suggested by deraadt@


# 1.6 23-May-2012 ratchov

Make the "default" string a valid device name that has the same effect
as NULL has. This will (hopefully) simplify ports where the user
passes the device string.


# 1.5 11-Apr-2012 ratchov

Use "unsigned int" rather than "unsigned". No object change.
suggested by deraadt@


Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE
# 1.4 06-Nov-2010 ratchov

make sio_onvol(3) return a integer exposing whether a volume knob
is available for the stream. As we're at it, remove macros and
functions that are neither used nor documented.


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE
# 1.3 25-Jul-2009 ratchov

use const qualifier in libsndio, making it slightly more consistent
with open(2) and write(2) syscalls.
from Thomas Pfaff, jakemsr is fine with it


# 1.2 25-Jul-2009 ratchov

Currently midi capable programs can control midi hardware, but
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@


Revision tags: OPENBSD_4_6_BASE
# 1.1 21-Apr-2009 ratchov

move src/lib/libsndio/sndio.h into src/include where other include
files leave.

requested by deraadt@, ok miod@


# 1.10 26-Feb-2020 ratchov

Add API to control audio device parameters exposed by sndiod.

The API exposes controls of modern audio hardware and sndiod software
volume knobs in a uniform way. Hardware knobs are exposed through
sndiod. Multiple programs may use the controls at the same time
without the need to continuously scan the controls.

For now sndiod exposes only its own controls and the master output and
input volumes of the underlying hardware (if any), i.e. those
typically exposed by acpi volume keys.

ok deraadt


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.9 20-Dec-2015 ratchov

Expose internal functions necessary to open audio devices and midi
ports using existing file descriptors.


Revision tags: OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.8 22-Aug-2012 espie

hex constants unsigned, prevents some gcc warnings
okay ratchov@


Revision tags: OPENBSD_5_2_BASE
# 1.7 08-Jul-2012 ratchov

Include sys/types.h rather than sys/param.h to pull BYTE_ORDER macros.
suggested by deraadt@


# 1.6 23-May-2012 ratchov

Make the "default" string a valid device name that has the same effect
as NULL has. This will (hopefully) simplify ports where the user
passes the device string.


# 1.5 11-Apr-2012 ratchov

Use "unsigned int" rather than "unsigned". No object change.
suggested by deraadt@


Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE
# 1.4 06-Nov-2010 ratchov

make sio_onvol(3) return a integer exposing whether a volume knob
is available for the stream. As we're at it, remove macros and
functions that are neither used nor documented.


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE
# 1.3 25-Jul-2009 ratchov

use const qualifier in libsndio, making it slightly more consistent
with open(2) and write(2) syscalls.
from Thomas Pfaff, jakemsr is fine with it


# 1.2 25-Jul-2009 ratchov

Currently midi capable programs can control midi hardware, but
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@


Revision tags: OPENBSD_4_6_BASE
# 1.1 21-Apr-2009 ratchov

move src/lib/libsndio/sndio.h into src/include where other include
files leave.

requested by deraadt@, ok miod@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.9 20-Dec-2015 ratchov

Expose internal functions necessary to open audio devices and midi
ports using existing file descriptors.


Revision tags: OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.8 22-Aug-2012 espie

hex constants unsigned, prevents some gcc warnings
okay ratchov@


Revision tags: OPENBSD_5_2_BASE
# 1.7 08-Jul-2012 ratchov

Include sys/types.h rather than sys/param.h to pull BYTE_ORDER macros.
suggested by deraadt@


# 1.6 23-May-2012 ratchov

Make the "default" string a valid device name that has the same effect
as NULL has. This will (hopefully) simplify ports where the user
passes the device string.


# 1.5 11-Apr-2012 ratchov

Use "unsigned int" rather than "unsigned". No object change.
suggested by deraadt@


Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE
# 1.4 06-Nov-2010 ratchov

make sio_onvol(3) return a integer exposing whether a volume knob
is available for the stream. As we're at it, remove macros and
functions that are neither used nor documented.


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE
# 1.3 25-Jul-2009 ratchov

use const qualifier in libsndio, making it slightly more consistent
with open(2) and write(2) syscalls.
from Thomas Pfaff, jakemsr is fine with it


# 1.2 25-Jul-2009 ratchov

Currently midi capable programs can control midi hardware, but
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@


Revision tags: OPENBSD_4_6_BASE
# 1.1 21-Apr-2009 ratchov

move src/lib/libsndio/sndio.h into src/include where other include
files leave.

requested by deraadt@, ok miod@