189 lines
4.4 KiB
HTML
189 lines
4.4 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<!--
|
|
/*
|
|
* Copyright (c) 2013 Alexandre Ratchov <alex@caoua.org>
|
|
*
|
|
* Permission to use, copy, modify, and distribute this software for any
|
|
* purpose with or without fee is hereby granted, provided that the above
|
|
* copyright notice and this permission notice appear in all copies.
|
|
*
|
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
*/
|
|
-->
|
|
<html>
|
|
<head>
|
|
<title>sndio</title>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
<meta name="language" content="en">
|
|
<link rel="stylesheet" type="text/css" href="sndio.css">
|
|
</head>
|
|
<body>
|
|
|
|
<h1>sndio home</h1>
|
|
|
|
<h2>About - what is sndio?</h2>
|
|
|
|
<p>
|
|
Sndio is a small audio and MIDI framework part of the OpenBSD project
|
|
and ported to FreeBSD, Linux and NetBSD.
|
|
|
|
It provides a lightweight audio & MIDI server and a fully
|
|
documented user-space API to access either the server or the hardware
|
|
directly in a uniform way.
|
|
|
|
Sndio is designed to work for desktop applications, but pays special
|
|
attention to synchronization mechanisms and reliability required by
|
|
music applications.
|
|
|
|
Reliability through simplicity are part of the
|
|
project goals.
|
|
|
|
<h2>Operating systems supporting sndio</h2>
|
|
|
|
<p>
|
|
This source code builds on any OpenBSD, Linux, and FreeBSD
|
|
systems with no modifications.
|
|
|
|
Patches to make sndio build on NetBSD are available in the ports tree.
|
|
|
|
<p>
|
|
Binaries are available for the following operating systems:
|
|
|
|
<ul>
|
|
|
|
<li>
|
|
FreeBSD, in the ports tree,
|
|
see <a href="https://www.freshports.org/audio/sndio/">port details</a>
|
|
|
|
<li>
|
|
Linux (including ArchLinux, Gentoo, Debian, Ubuntu)
|
|
|
|
<li>
|
|
NetBSD, in the ports tree
|
|
|
|
</ul>
|
|
|
|
<p>
|
|
Porting sndio consists of writing a module for the sndio library;
|
|
it takes around a thousand lines of C.
|
|
|
|
The sndio daemon itself uses this library for audio I/O so it requires
|
|
virtually no porting efforts.
|
|
|
|
<h2>Programs supporting sndio</h2>
|
|
|
|
<p>
|
|
Many open-source programs, including major media-players, web-browsers,
|
|
audio libraries and utilities have native sndio support.
|
|
|
|
Other programs have patches in the OpenBSD ports tree waiting for
|
|
upstream integration.
|
|
|
|
<h2>Downloads & installation</h2>
|
|
|
|
<p>
|
|
Refer to <a href="install.html">installation instructions</a>
|
|
for more details.
|
|
|
|
<p>
|
|
Source tar-balls:
|
|
|
|
<ul>
|
|
|
|
<li><tt><a href="sndio-1.8.1.tar.gz">sndio-1.8.1.tar.gz</a></tt>
|
|
[<tt><a href="sndio-1.8.1.tar.gz.asc">PGP</a>
|
|
<a href="sndio-1.8.1.tar.gz.sha256">SHA256</a></tt>]
|
|
- stable release from June 18, 2021
|
|
|
|
</ul>
|
|
|
|
<p>Using git:
|
|
<pre>git clone https://caoua.org/git/sndio</pre>
|
|
|
|
<h2>Documentation</h2>
|
|
|
|
<p>
|
|
The complete documentation is part of the OpenBSD project:
|
|
|
|
<ul>
|
|
|
|
<li>
|
|
<a href="https://man.openbsd.org/sndio">sndio(7)</a>
|
|
- overview, device names
|
|
|
|
<li>
|
|
<a href="https://man.openbsd.org/sndiod">sndiod(8)</a>
|
|
- audio & MIDI server manual
|
|
|
|
<li>
|
|
<a href="https://man.openbsd.org/sio_open">sio_open(3)</a>
|
|
- audio programming interface
|
|
|
|
<li>
|
|
<a href="https://man.openbsd.org/mio_open">mio_open(3)</a>
|
|
- MIDI programming interface
|
|
|
|
<li>
|
|
<a href="https://man.openbsd.org/sioctl_open">sioctl_open(3)</a>
|
|
- audio parameters interface
|
|
|
|
</ul>
|
|
|
|
<p>
|
|
A <a href="mail.html">mailing-list</a> dedicated
|
|
to non-OpenBSD-related discussions is available (archives
|
|
are <a href="arch/">here</a>).
|
|
|
|
<h2>Links</h2>
|
|
|
|
<ul>
|
|
|
|
<li>
|
|
AsiaBSDCon 2010 presentation:
|
|
<a href="https://www.openbsd.org/papers/asiabsdcon2010_sndio_slides.pdf">slides</a>,
|
|
<a href="https://www.openbsd.org/papers/asiabsdcon2010_sndio.pdf">paper</a>.
|
|
|
|
The document is somewhat outdated, but discussions about the design
|
|
are still true.
|
|
|
|
<li>
|
|
Recipes for developers and porters -
|
|
<a href="tips.html">hints on writing & porting audio code</a>
|
|
|
|
</ul>
|
|
|
|
<h2>Related projects</h2>
|
|
|
|
<p>
|
|
|
|
<ul>
|
|
|
|
<li>
|
|
<a href="https://www.alsa-project.org/">ALSA</a>
|
|
|
|
<li>
|
|
<a href="https://jackaudio.org/">JACK</a>
|
|
|
|
<li>
|
|
<a href="http://www.opensound.com/">OSS</a>
|
|
|
|
<li>
|
|
<a href="https://www.freedesktop.org/wiki/Software/PulseAudio/">PulseAudio</a>
|
|
|
|
</ul>
|
|
|
|
<p>
|
|
<small><i>
|
|
Copyright (c) 2013 Alexandre Ratchov<br>
|
|
Last updated June 18, 2021
|
|
</i></small>
|
|
|
|
</body>
|
|
</html>
|