summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/Makefile.am48
-rw-r--r--docs/Makefile.in477
-rw-r--r--docs/esd-config.1.in174
-rw-r--r--docs/esd.1.in177
-rw-r--r--docs/esdcat.1.in243
-rw-r--r--docs/esdctl.1.in178
-rw-r--r--docs/esddsp.1.in166
-rw-r--r--docs/esdfilt.1.in165
-rw-r--r--docs/esdloop.1.in154
-rw-r--r--docs/esdmon.1.in164
-rw-r--r--docs/esdplay.1.in162
-rw-r--r--docs/esdrec.1.in104
-rw-r--r--docs/esdsample.1.in155
-rw-r--r--docs/esound.sgml816
14 files changed, 3183 insertions, 0 deletions
diff --git a/docs/Makefile.am b/docs/Makefile.am
new file mode 100644
index 0000000..21f6376
--- /dev/null
+++ b/docs/Makefile.am
@@ -0,0 +1,48 @@
+if BUILD_ESDDSP
+ESDDSP_MAN = esddsp.1
+endif
+
+man_MANS = \
+ esd.1 esdcat.1 esd-config.1 esdctl.1 $(ESDDSP_MAN) \
+ esdfilt.1 esdloop.1 esdmon.1 esdplay.1 esdrec.1 esdsample.1
+
+EXTRA_DIST = \
+ esd.1.in esdcat.1.in esd-config.1.in esdctl.1.in \
+ esddsp.1.in esdfilt.1.in esdloop.1.in esdmon.1.in \
+ esdplay.1.in esdrec.1.in esdsample.1.in \
+ esound.sgml
+
+CLEANFILES = esound.dvi esound.ps esound.tex esound.aux esound.log
+
+if HAVE_JW
+noinst_DATA = html/index.html
+else
+noinst_DATA =
+endif
+
+html/index.html: esound.sgml
+ $(JW) -f docbook -b html -o html $(srcdir)/esound.sgml
+
+clean-local:
+ rm -rf html
+
+if HAVE_JW
+install-data-local:
+ $(mkinstalldirs) $(DESTDIR)$(htmldir)
+ files=`cd html && echo *.html`; \
+ test "$$files" && for f in $$files; do \
+ cp -p html/$$f $(DESTDIR)$(htmldir)/$$f; \
+ done
+
+uninstall-local:
+ files=`cd html && echo *.html`; \
+ test "$$files" && for f in $$files; do \
+ rm -rf $(DESTDIR)$(htmldir)/$$f; \
+ done
+ if test -d $(DESTDIR)$(htmldir); then rmdir $(DESTDIR)$(htmldir); fi
+else
+install-data-local:
+uninstall-local:
+endif
+
+
diff --git a/docs/Makefile.in b/docs/Makefile.in
new file mode 100644
index 0000000..d8d3e41
--- /dev/null
+++ b/docs/Makefile.in
@@ -0,0 +1,477 @@
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+subdir = docs
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(srcdir)/esd-config.1.in $(srcdir)/esd.1.in \
+ $(srcdir)/esdcat.1.in $(srcdir)/esdctl.1.in \
+ $(srcdir)/esddsp.1.in $(srcdir)/esdfilt.1.in \
+ $(srcdir)/esdloop.1.in $(srcdir)/esdmon.1.in \
+ $(srcdir)/esdplay.1.in $(srcdir)/esdrec.1.in \
+ $(srcdir)/esdsample.1.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/as-arts.m4 \
+ $(top_srcdir)/m4/as-compiler-flag.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES = esd.1 esdcat.1 esd-config.1 esdctl.1 esddsp.1 \
+ esdfilt.1 esdloop.1 esdmon.1 esdplay.1 esdrec.1 esdsample.1
+SOURCES =
+DIST_SOURCES =
+man1dir = $(mandir)/man1
+am__installdirs = "$(DESTDIR)$(man1dir)"
+NROFF = nroff
+MANS = $(man_MANS)
+DATA = $(noinst_DATA)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMTAR = @AMTAR@
+AR = @AR@
+ARTS_CONFIG = @ARTS_CONFIG@
+ARTS_CXXFLAGS = @ARTS_CXXFLAGS@
+ARTS_LIBS = @ARTS_LIBS@
+AS = @AS@
+AUDIOFILE_CFLAGS = @AUDIOFILE_CFLAGS@
+AUDIOFILE_LIBS = @AUDIOFILE_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DISTDOCS = @DISTDOCS@
+DLLTOOL = @DLLTOOL@
+DL_LIB = @DL_LIB@
+DOCS = @DOCS@
+DSYMUTIL = @DSYMUTIL@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ESD_DIR = @ESD_DIR@
+ESD_MAJOR_VERSION = @ESD_MAJOR_VERSION@
+ESD_MICRO_VERSION = @ESD_MICRO_VERSION@
+ESD_MINOR_VERSION = @ESD_MINOR_VERSION@
+ESD_PC_DIR = @ESD_PC_DIR@
+ESD_VERSION = @ESD_VERSION@
+ESD_VERSION_INFO = @ESD_VERSION_INFO@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JW = @JW@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOUND_LIBS = @SOUND_LIBS@
+STRIP = @STRIP@
+VERSION = @VERSION@
+WRAP_LIB = @WRAP_LIB@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+@BUILD_ESDDSP_TRUE@ESDDSP_MAN = esddsp.1
+man_MANS = \
+ esd.1 esdcat.1 esd-config.1 esdctl.1 $(ESDDSP_MAN) \
+ esdfilt.1 esdloop.1 esdmon.1 esdplay.1 esdrec.1 esdsample.1
+
+EXTRA_DIST = \
+ esd.1.in esdcat.1.in esd-config.1.in esdctl.1.in \
+ esddsp.1.in esdfilt.1.in esdloop.1.in esdmon.1.in \
+ esdplay.1.in esdrec.1.in esdsample.1.in \
+ esound.sgml
+
+CLEANFILES = esound.dvi esound.ps esound.tex esound.aux esound.log
+@HAVE_JW_FALSE@noinst_DATA =
+@HAVE_JW_TRUE@noinst_DATA = html/index.html
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu docs/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+esd.1: $(top_builddir)/config.status $(srcdir)/esd.1.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+esdcat.1: $(top_builddir)/config.status $(srcdir)/esdcat.1.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+esd-config.1: $(top_builddir)/config.status $(srcdir)/esd-config.1.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+esdctl.1: $(top_builddir)/config.status $(srcdir)/esdctl.1.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+esddsp.1: $(top_builddir)/config.status $(srcdir)/esddsp.1.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+esdfilt.1: $(top_builddir)/config.status $(srcdir)/esdfilt.1.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+esdloop.1: $(top_builddir)/config.status $(srcdir)/esdloop.1.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+esdmon.1: $(top_builddir)/config.status $(srcdir)/esdmon.1.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+esdplay.1: $(top_builddir)/config.status $(srcdir)/esdplay.1.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+esdrec.1: $(top_builddir)/config.status $(srcdir)/esdrec.1.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+esdsample.1: $(top_builddir)/config.status $(srcdir)/esdsample.1.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-man1: $(man1_MANS) $(man_MANS)
+ @$(NORMAL_INSTALL)
+ test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
+ @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
+ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+ for i in $$l2; do \
+ case "$$i" in \
+ *.1*) list="$$list $$i" ;; \
+ esac; \
+ done; \
+ for i in $$list; do \
+ if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
+ else file=$$i; fi; \
+ ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+ case "$$ext" in \
+ 1*) ;; \
+ *) ext='1' ;; \
+ esac; \
+ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+ inst=`echo $$inst | sed -e 's/^.*\///'`; \
+ inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
+ done
+uninstall-man1:
+ @$(NORMAL_UNINSTALL)
+ @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
+ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+ for i in $$l2; do \
+ case "$$i" in \
+ *.1*) list="$$list $$i" ;; \
+ esac; \
+ done; \
+ for i in $$list; do \
+ ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+ case "$$ext" in \
+ 1*) ;; \
+ *) ext='1' ;; \
+ esac; \
+ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+ inst=`echo $$inst | sed -e 's/^.*\///'`; \
+ inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+ echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
+ rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(MANS) $(DATA)
+installdirs:
+ for dir in "$(DESTDIR)$(man1dir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-data-local install-man
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man: install-man1
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-local uninstall-man
+
+uninstall-man: uninstall-man1
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ clean-local distclean distclean-generic distclean-libtool \
+ distdir dvi dvi-am html html-am info info-am install \
+ install-am install-data install-data-am install-data-local \
+ install-dvi install-dvi-am install-exec install-exec-am \
+ install-html install-html-am install-info install-info-am \
+ install-man install-man1 install-pdf install-pdf-am install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am uninstall uninstall-am uninstall-local uninstall-man \
+ uninstall-man1
+
+
+html/index.html: esound.sgml
+ $(JW) -f docbook -b html -o html $(srcdir)/esound.sgml
+
+clean-local:
+ rm -rf html
+
+@HAVE_JW_TRUE@install-data-local:
+@HAVE_JW_TRUE@ $(mkinstalldirs) $(DESTDIR)$(htmldir)
+@HAVE_JW_TRUE@ files=`cd html && echo *.html`; \
+@HAVE_JW_TRUE@ test "$$files" && for f in $$files; do \
+@HAVE_JW_TRUE@ cp -p html/$$f $(DESTDIR)$(htmldir)/$$f; \
+@HAVE_JW_TRUE@ done
+
+@HAVE_JW_TRUE@uninstall-local:
+@HAVE_JW_TRUE@ files=`cd html && echo *.html`; \
+@HAVE_JW_TRUE@ test "$$files" && for f in $$files; do \
+@HAVE_JW_TRUE@ rm -rf $(DESTDIR)$(htmldir)/$$f; \
+@HAVE_JW_TRUE@ done
+@HAVE_JW_TRUE@ if test -d $(DESTDIR)$(htmldir); then rmdir $(DESTDIR)$(htmldir); fi
+@HAVE_JW_FALSE@install-data-local:
+@HAVE_JW_FALSE@uninstall-local:
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/docs/esd-config.1.in b/docs/esd-config.1.in
new file mode 100644
index 0000000..e6bf21c
--- /dev/null
+++ b/docs/esd-config.1.in
@@ -0,0 +1,174 @@
+.\" Automatically generated by Pod::Man version 1.15
+.\" Tue Jun 4 16:46:59 2002
+.\"
+.\" Standard preamble:
+.\" ======================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. | will give a
+.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used
+.\" to do unbreakable dashes and therefore won't be available. \*(C` and
+.\" \*(C' expand to `' in nroff, nothing in troff, for use with C<>
+.tr \(*W-|\(bv\*(Tr
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr
+.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and
+.\" index entries marked with X<> in POD. Of course, you'll have to process
+.\" the output yourself in some meaningful fashion.
+.if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.\"
+.\" For nroff, turn off justification. Always turn off hyphenation; it
+.\" makes way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+.bd B 3
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ======================================================================
+.\"
+.IX Title "ESD-CONFIG 1"
+.TH ESD-CONFIG 1 "EsounD @VERSION@" "2002-06-04" "Enlightened Sound Daemon"
+.UC
+.SH "NAME"
+esd-config \- The Enlightened Sound Daemon
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+esd-config is a tool that is used to configure to determine
+the compiler and linker flags that should be used to
+compile and link programs that use EsounD. It is also used
+internally to the .m4 macros for \s-1GNU\s0 autoconf that are
+included with EsounD.
+.SH "USAGE"
+.IX Header "USAGE"
+esd-config [\-\-prefix[=DIR]] [\-\-exec-prefix[=DIR]] [\-\-version] [\-\-libs] [\-\-cflags]
+.PP
+\&\fB\*(--version\fR Print the currently installed version of EsounD on the standard output.
+.PP
+\&\fB\*(--libs\fR Print the linker flags that are necessary to link an EsounD program.
+.PP
+\&\fB\*(--cflags\fR Print the compiler flags that are necessary to compile an EsounD program.
+.PP
+\&\fB\*(--prefix=PREFIX\fR If specified, use \s-1PREFIX\s0 instead of the installation prefix that EsounD was
+built with when computing the output for the \-\-cflags and \-\-libs options.
+This option is also used for the exec prefix if \-\-exec-prefix was not
+specified. This option must be specified before any \-\-libs or \-\-cflags options.
+.PP
+\&\fB\*(--exec-prefix=PREFIX\fR If specified, use \s-1PREFIX\s0 instead of the installation
+exec prefix that EsounD was built with when computing the output for the
+\&\-\-cflags and \-\-libs options. This option must be specified before any \-\-libs
+or \-\-cflags options.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIesd\fR\|(1), \fIesdcat\fR\|(1), \fIesddsp\fR\|(1), \fIesdloop\fR\|(1), \fIesdplay\fR\|(1), \fIesdsample\fR\|(1),
+\&\fIesdctl\fR\|(1), \fIesdfilt\fR\|(1), \fIesdmon\fR\|(1), \fIesdrec\fR\|(1)
diff --git a/docs/esd.1.in b/docs/esd.1.in
new file mode 100644
index 0000000..b2d21c8
--- /dev/null
+++ b/docs/esd.1.in
@@ -0,0 +1,177 @@
+.\" Automatically generated by Pod::Man version 1.15
+.\" Tue Jun 4 16:47:00 2002
+.\"
+.\" Standard preamble:
+.\" ======================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. | will give a
+.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used
+.\" to do unbreakable dashes and therefore won't be available. \*(C` and
+.\" \*(C' expand to `' in nroff, nothing in troff, for use with C<>
+.tr \(*W-|\(bv\*(Tr
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr
+.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and
+.\" index entries marked with X<> in POD. Of course, you'll have to process
+.\" the output yourself in some meaningful fashion.
+.if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.\"
+.\" For nroff, turn off justification. Always turn off hyphenation; it
+.\" makes way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+.bd B 3
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ======================================================================
+.\"
+.IX Title "ESD 1"
+.TH ESD 1 "EsounD @VERSION@" "2002-06-04" "Enlightened Sound Daemon"
+.UC
+.SH "NAME"
+esd \- The Enlightened Sound Daemon
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+Starts up EsounD, which provides a sound mixing server.
+.SH "USAGE"
+.IX Header "USAGE"
+esd [options]
+.PP
+.Vb 10
+\& -d DEVICE force esd to use sound device DEVICE
+\& -b run server in 8 bit sound mode
+\& -r RATE run server at sample rate of RATE
+\& -as SECS free audio device after SECS of inactivity (-1 to disable)
+\& -unix use unix domain sockets instead of tcp/ip
+\& -tcp use tcp/ip sockets instead of unix domain
+\& -public make tcp/ip access public (other than localhost)
+\& -promiscuous start unlocked and owned (disable authenticaton) NOT RECOMMENDED
+\& -terminate terminate esd daemon after last client exits
+\& -noterminate do not terminate esd daemon after last client exits
+\& -nobeeps disable startup beeps
+\& -beeps enable startup beeps
+\& -trust start esd even if use of /tmp/.esd can be insecure
+\& -port PORT listen for connections at PORT (only for tcp/ip)
+\& -bind ADDRESS binds to ADDRESS (only for tcp/ip)
+\&
+\& -v --version print version information
+.Ve
+Possible devices are: /dev/dsp, /dev/dsp2, etc.
+.SH "FILES /etc/esd.conf daemon configuration file"
+.IX Header "FILES /etc/esd.conf daemon configuration file"
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIesdcat\fR\|(1), \fIesddsp\fR\|(1), \fIesdloop\fR\|(1), \fIesdplay\fR\|(1), \fIesdsample\fR\|(1),
+\&\fIesd-config\fR\|(1), \fIesdctl\fR\|(1), \fIesdfilt\fR\|(1), \fIesdmon\fR\|(1), \fIesdrec\fR\|(1)
diff --git a/docs/esdcat.1.in b/docs/esdcat.1.in
new file mode 100644
index 0000000..c92103f
--- /dev/null
+++ b/docs/esdcat.1.in
@@ -0,0 +1,243 @@
+.\" Automatically generated by Pod::Man version 1.15
+.\" Tue Jun 4 16:47:00 2002
+.\"
+.\" Standard preamble:
+.\" ======================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. | will give a
+.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used
+.\" to do unbreakable dashes and therefore won't be available. \*(C` and
+.\" \*(C' expand to `' in nroff, nothing in troff, for use with C<>
+.tr \(*W-|\(bv\*(Tr
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr
+.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and
+.\" index entries marked with X<> in POD. Of course, you'll have to process
+.\" the output yourself in some meaningful fashion.
+.if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.\"
+.\" For nroff, turn off justification. Always turn off hyphenation; it
+.\" makes way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+.bd B 3
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ======================================================================
+.\"
+.IX Title "ESDCAT 1"
+.TH ESDCAT 1 "EsounD @VERSION@" "Feb 2006" "Enlightened Sound Daemon"
+.SH "NAME"
+esdcat \- play a sound file from \fBstdin\fR
+.SH "SYNOPSIS"
+.PP
+\fBesdcat\fR [-\fBs \fIhostname\fR:\fIport\fR\fR] [\f(CW\*(C`\-n\*(C'\fR name] [-\fBb\fR] [-\fBh\fR] [-\fBm\fR] [-\fBr \fIfreq\fR\fR] < file
+.SH "DESCRIPTION"
+.PP
+The \fBesdcat\fR application pipes data from \fBstdin \fRto the sound device, using the Enlightened Sound Daemon (\fBesd\fR)\&.
+.PP
+.SH "OPTIONS"
+.PP
+The following options are supported:
+.sp
+.ne 2
+.mk
+\fB-\fBs \fIhostname\fR:\fIport\fR\fR\fR
+.in +16n
+.rt
+Contact the \fBesd\fR server on \fIhostname\fR at \fIport\fR\&.
+.sp
+.sp 1
+.in -16n
+.sp
+.ne 2
+.mk
+\fB-\fBb\fR\fR
+.in +16n
+.rt
+Specify that
+the output should be in 8-bit format\&. By default, the output is in 16-bit
+format\&.
+.sp
+.sp 1
+.in -16n
+.sp
+.ne 2
+.mk
+\fB-\fBh\fR\fR
+.in +16n
+.rt
+Display help
+text, and exit\&.
+.sp
+.sp 1
+.in -16n
+.sp
+.ne 2
+.mk
+\fB-\fBm\fR\fR
+.in +16n
+.rt
+Specify that
+the output should be in mono format\&. By default, the output is in stereo format\&.
+.sp
+.sp 1
+.in -16n
+.sp
+.ne 2
+.mk
+\fB-\fBr \fIfreq\fR\fR\fR
+.in +16n
+.rt
+Specify that the output rate should be set to \fIfreq\fR\&. By default, the output rate is set to 44\&.1 kHz\&.
+.sp
+.sp 1
+.in -16n
+.SH "EXAMPLES"
+.PP
+\fBExample 1: Playing a sound file "beep" from stdin\fR
+.PP
+.PP
+.nf
+example% \fBesdcat < beep\fR
+.fi
+.SH "EXIT STATUS"
+.PP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+\fB\fB0\fR\fR
+.in +9n
+.rt
+Application exited successfully
+.sp
+.sp 1
+.in -9n
+.sp
+.ne 2
+.mk
+\fB\fB>0\fR\fR
+.in +9n
+.rt
+Application
+exited with failure
+.sp
+.sp 1
+.in -9n
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIesd\fR\|(1), \fIesddsp\fR\|(1), \fIesdfilt\fR\|(1), \fIesdloop\fR\|(1), \fIesdplay\fR\|(1), \fIesdsample\fR\|(1),
+\&\fIesd-config\fR\|(1), \fIesdctl\fR\|(1), \fIesdmon\fR\|(1), \fIesdrec\fR\|(1)
diff --git a/docs/esdctl.1.in b/docs/esdctl.1.in
new file mode 100644
index 0000000..9acd22a
--- /dev/null
+++ b/docs/esdctl.1.in
@@ -0,0 +1,178 @@
+.\" Automatically generated by Pod::Man version 1.15
+.\" Tue Jun 4 16:46:59 2002
+.\"
+.\" Standard preamble:
+.\" ======================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. | will give a
+.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used
+.\" to do unbreakable dashes and therefore won't be available. \*(C` and
+.\" \*(C' expand to `' in nroff, nothing in troff, for use with C<>
+.tr \(*W-|\(bv\*(Tr
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr
+.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and
+.\" index entries marked with X<> in POD. Of course, you'll have to process
+.\" the output yourself in some meaningful fashion.
+.if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.\"
+.\" For nroff, turn off justification. Always turn off hyphenation; it
+.\" makes way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+.bd B 3
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ======================================================================
+.\"
+.IX Title "ESDCTL 1"
+.TH ESDCTL 1 "EsounD @VERSION@" "2002-06-04" "Enlightened Sound Daemon"
+.UC
+.SH "NAME"
+esdctl \- The Enlightened Sound Daemon
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+Command-line control program for EsounD
+.SH "USAGE"
+.IX Header "USAGE"
+esdctl [options] [command]
+.PP
+options:
+\&\f(CW\*(C`\-s\*(C'\fR,\ \-\-server=host:port\ contact\ esd\ server\ on\ host\ at\ port
+.PP
+commands:
+.PP
+.Vb 16
+\& lock foreign clients may not use the server
+\& unlock foreign clients may use the server
+\& standby, off suspend sound output for other programs
+\& resume, on resume sound output
+\& cache sample cache a sample in the server
+\& getid name retrieve a sample id from its name
+\& free name uncache a sample in the server
+\& play name play a cached sample once
+\& loop name make a cached sample loop
+\& stop name stop the looping sample at end
+\& serverinfo get server info from server
+\& allinfo get player and sample info from server
+\& panstream id left right set panning for a stream
+\& pansample id left right set default panning for a sample
+\& - left/right pan values scaled to 256.
+\& standbymode see if server's on standby, etc.
+.Ve
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIesd\fR\|(1), \fIesdcat\fR\|(1), \fIesddsp\fR\|(1), \fIesdloop\fR\|(1), \fIesdplay\fR\|(1), \fIesdsample\fR\|(1),
+\&\fIesd-config\fR\|(1), \fIesdfilt\fR\|(1), \fIesdmon\fR\|(1), \fIesdrec\fR\|(1)
diff --git a/docs/esddsp.1.in b/docs/esddsp.1.in
new file mode 100644
index 0000000..29f0d4c
--- /dev/null
+++ b/docs/esddsp.1.in
@@ -0,0 +1,166 @@
+.\" Automatically generated by Pod::Man version 1.15
+.\" Tue Jun 4 16:46:59 2002
+.\"
+.\" Standard preamble:
+.\" ======================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. | will give a
+.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used
+.\" to do unbreakable dashes and therefore won't be available. \*(C` and
+.\" \*(C' expand to `' in nroff, nothing in troff, for use with C<>
+.tr \(*W-|\(bv\*(Tr
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr
+.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and
+.\" index entries marked with X<> in POD. Of course, you'll have to process
+.\" the output yourself in some meaningful fashion.
+.if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.\"
+.\" For nroff, turn off justification. Always turn off hyphenation; it
+.\" makes way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+.bd B 3
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ======================================================================
+.\"
+.IX Title "ESDDSP 1"
+.TH ESDDSP 1 "EsounD @VERSION@" "2002-06-04" "Enlightened Sound Daemon"
+.UC
+.SH "NAME"
+esddsp \- attempt to reroute audio device to esd
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+esddsp can allow non-esd applications to be routed through esd.
+.SH "USAGE"
+.IX Header "USAGE"
+esddsp [options] player arguments
+.PP
+options:
+.PP
+.Vb 5
+\& -h, --help show brief help
+\& -s, --server=HOST:PORT contact esd server on host at port
+\& -m, --mixer enable mixer support
+\& -n, --name=NAME use name to identify player to esd
+\& -v, --verbose show parameters
+\& --mmap use memory mapping emulation
+ (useful for games like quake)
+.Ve
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIesd\fR\|(1), \fIesdcat\fR\|(1), \fIesdloop\fR\|(1), \fIesdplay\fR\|(1), \fIesdsample\fR\|(1),
+\&\fIesd-config\fR\|(1), \fIesdctl\fR\|(1), \fIesdfilt\fR\|(1), \fIesdmon\fR\|(1), \fIesdrec\fR\|(1)
diff --git a/docs/esdfilt.1.in b/docs/esdfilt.1.in
new file mode 100644
index 0000000..749dd1a
--- /dev/null
+++ b/docs/esdfilt.1.in
@@ -0,0 +1,165 @@
+.\" Automatically generated by Pod::Man version 1.15
+.\" Tue Jun 4 16:46:59 2002
+.\"
+.\" Standard preamble:
+.\" ======================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. | will give a
+.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used
+.\" to do unbreakable dashes and therefore won't be available. \*(C` and
+.\" \*(C' expand to `' in nroff, nothing in troff, for use with C<>
+.tr \(*W-|\(bv\*(Tr
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr
+.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and
+.\" index entries marked with X<> in POD. Of course, you'll have to process
+.\" the output yourself in some meaningful fashion.
+.if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.\"
+.\" For nroff, turn off justification. Always turn off hyphenation; it
+.\" makes way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+.bd B 3
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ======================================================================
+.\"
+.IX Title "ESDFILT 1"
+.TH ESDFILT 1 "EsounD @VERSION@" "2002-06-04" "Enlightened Sound Daemon"
+.UC
+.SH "NAME"
+esdfilt \- The Enlightened Sound Daemon
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+EsounD filter. Sample esd filter program that implements halving and doubling,
+Optionally writing the new data to a seperate file.
+.SH "USAGE"
+.IX Header "USAGE"
+esdfilt [\s-1OPTIONS\s0] [\s-1FILE\s0]
+.PP
+\&\f(CW\*(C`\-s\*(C'\fR, \-\-server=HOSTNAME set EsounD server
+\&\f(CW\*(C`\-b\*(C'\fR, output file should be 8\-bit
+\&\f(CW\*(C`\-m\*(C'\fR, output file should be mono
+\&\f(CW\*(C`\-r\*(C'\fR \s-1RATE\s0, set output rate to \s-1RATE\s0
+\&\f(CW\*(C`\-half\*(C'\fR halve each sample
+\&\f(CW\*(C`\-double\*(C'\fR double each sample
+.PP
+If \s-1FILE\s0 is specified, the filtered output will be written there. Otherwise
+it will be written back to esound to change the output to the sound device.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIesd\fR\|(1), \fIesdcat\fR\|(1), \fIesddsp\fR\|(1), \fIesdloop\fR\|(1), \fIesdplay\fR\|(1), \fIesdsample\fR\|(1),
+\&\fIesd-config\fR\|(1), \fIesdctl\fR\|(1), \fIesdmon\fR\|(1), \fIesdrec\fR\|(1)
diff --git a/docs/esdloop.1.in b/docs/esdloop.1.in
new file mode 100644
index 0000000..261cb7a
--- /dev/null
+++ b/docs/esdloop.1.in
@@ -0,0 +1,154 @@
+.\" Automatically generated by Pod::Man version 1.15
+.\" Tue Jun 4 16:47:00 2002
+.\"
+.\" Standard preamble:
+.\" ======================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. | will give a
+.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used
+.\" to do unbreakable dashes and therefore won't be available. \*(C` and
+.\" \*(C' expand to `' in nroff, nothing in troff, for use with C<>
+.tr \(*W-|\(bv\*(Tr
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr
+.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and
+.\" index entries marked with X<> in POD. Of course, you'll have to process
+.\" the output yourself in some meaningful fashion.
+.if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.\"
+.\" For nroff, turn off justification. Always turn off hyphenation; it
+.\" makes way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+.bd B 3
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ======================================================================
+.\"
+.IX Title "ESDLOOP 1"
+.TH ESDLOOP 1 "EsounD @VERSION@" "2002-06-04" "Enlightened Sound Daemon"
+.UC
+.SH "NAME"
+esdloop \- The Enlightened Sound Daemon
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+esdloop is test scaffolding for sample cache, loop, and free.
+.SH "USAGE"
+.IX Header "USAGE"
+esdloop [\f(CW\*(C`\-s\*(C'\fR server ] [\f(CW\*(C`\-b\*(C'\fR] [\f(CW\*(C`\-m\*(C'\fR] [\f(CW\*(C`\-r\*(C'\fR freq] < file
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIesd\fR\|(1), \fIesdcat\fR\|(1), \fIesddsp\fR\|(1), \fIesdplay\fR\|(1), \fIesdsample\fR\|(1),
+\&\fIesd-config\fR\|(1), \fIesdctl\fR\|(1), \fIesdfilt\fR\|(1), \fIesdmon\fR\|(1), \fIesdrec\fR\|(1)
diff --git a/docs/esdmon.1.in b/docs/esdmon.1.in
new file mode 100644
index 0000000..7b27ba0
--- /dev/null
+++ b/docs/esdmon.1.in
@@ -0,0 +1,164 @@
+.\" Automatically generated by Pod::Man version 1.15
+.\" Tue Jun 4 16:47:00 2002
+.\"
+.\" Standard preamble:
+.\" ======================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. | will give a
+.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used
+.\" to do unbreakable dashes and therefore won't be available. \*(C` and
+.\" \*(C' expand to `' in nroff, nothing in troff, for use with C<>
+.tr \(*W-|\(bv\*(Tr
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr
+.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and
+.\" index entries marked with X<> in POD. Of course, you'll have to process
+.\" the output yourself in some meaningful fashion.
+.if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.\"
+.\" For nroff, turn off justification. Always turn off hyphenation; it
+.\" makes way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+.bd B 3
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ======================================================================
+.\"
+.IX Title "ESDMON 1"
+.TH ESDMON 1 "EsounD @VERSION@" "2002-06-04" "Enlightened Sound Daemon"
+.UC
+.SH "NAME"
+esdmon \- The Enlightened Sound Daemon
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+EsounD monitor. Opens the esd socket and duplicates the stream being
+sent to the sound device.
+.SH "USAGE"
+.IX Header "USAGE"
+esdmon [\s-1OPTIONS\s0] [\s-1FILE\s0]
+.PP
+Options:
+.PP
+\&\f(CW\*(C`\-s\*(C'\fR, \-\-server=HOSTNAME set EsounD server
+\&\f(CW\*(C`\-b\*(C'\fR, output file should be 8\-bit
+\&\f(CW\*(C`\-m\*(C'\fR, output file should be mono
+\&\f(CW\*(C`\-r\*(C'\fR \s-1RATE\s0, set output rate to \s-1RATE\s0
+.PP
+\&\s-1FILE\s0 is the file to write the output stream to. Default is stdout.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIesd\fR\|(1), \fIesdcat\fR\|(1), \fIesddsp\fR\|(1), \fIesdloop\fR\|(1), \fIesdplay\fR\|(1), \fIesdsample\fR\|(1),
+\&\fIesd-config\fR\|(1), \fIesdctl\fR\|(1), \fIesdfilt\fR\|(1), \fIesdrec\fR\|(1)
diff --git a/docs/esdplay.1.in b/docs/esdplay.1.in
new file mode 100644
index 0000000..f98878b
--- /dev/null
+++ b/docs/esdplay.1.in
@@ -0,0 +1,162 @@
+.\" Automatically generated by Pod::Man version 1.15
+.\" Tue Jun 4 16:47:00 2002
+.\"
+.\" Standard preamble:
+.\" ======================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. | will give a
+.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used
+.\" to do unbreakable dashes and therefore won't be available. \*(C` and
+.\" \*(C' expand to `' in nroff, nothing in troff, for use with C<>
+.tr \(*W-|\(bv\*(Tr
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr
+.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and
+.\" index entries marked with X<> in POD. Of course, you'll have to process
+.\" the output yourself in some meaningful fashion.
+.if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.\"
+.\" For nroff, turn off justification. Always turn off hyphenation; it
+.\" makes way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+.bd B 3
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ======================================================================
+.\"
+.IX Title "ESDPLAY 1"
+.TH ESDPLAY 1 "EsounD @VERSION@" "2002-06-04" "Enlightened Sound Daemon"
+.UC
+.SH "NAME"
+esddsp \- attempt to reroute audio device to esd
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+Plays the \s-1FILE\s0 on EsounD.
+.SH "USAGE"
+.IX Header "USAGE"
+esdplay [\s-1OPTIONS\s0] \s-1FILE\s0
+.PP
+Options:
+.PP
+\&\f(CW\*(C`\-s\*(C'\fR, \-\-server=HOSTNAME set EsounD server
+.PP
+\&\f(CW\*(C`\-h\*(C'\fR, \-\-help display this help and exit
+.PP
+\&\f(CW\*(C`\-v\*(C'\fR, \-\-version output version information and exit
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIesd\fR\|(1), \fIesdcat\fR\|(1), \fIesddsp\fR\|(1), \fIesdloop\fR\|(1), \fIesdsample\fR\|(1),
+\&\fIesd-config\fR\|(1), \fIesdctl\fR\|(1), \fIesdfilt\fR\|(1), \fIesdmon\fR\|(1), \fIesdrec\fR\|(1)
diff --git a/docs/esdrec.1.in b/docs/esdrec.1.in
new file mode 100644
index 0000000..0db3c6c
--- /dev/null
+++ b/docs/esdrec.1.in
@@ -0,0 +1,104 @@
+'\" te
+.TH ESDREC 1 "EsounD @VERSION@" "Feb 2006" "Enlightened Sound Daemon"
+.SH "NAME"
+esdrec \- record a sound file
+.SH "SYNOPSIS"
+.PP
+\fBesdrec\fR [-\fBs \fIhostname\fR:\fIport\fR\fR] [-\fBb\fR] [-\fBh\fR] [-\fBm\fR] [-\fBr \fIfreq\fR\fR]
+.SH "DESCRIPTION"
+.PP
+The \fBesdrec\fR application pipes data from the sound device
+to \fBstdout\fR using the Enlightened Sound Daemon (\fBesd\fR)\&.
+.SH "OPTIONS"
+.PP
+The following options are supported:
+.sp
+.ne 2
+.mk
+\fB-\fBs \fIhostname\fR:\fIport\fR\fR\fR
+.in +16n
+.rt
+Contact the \fBesd\fR server on \fIhostname\fR at \fIport\fR\&.
+.sp
+.sp 1
+.in -16n
+.sp
+.ne 2
+.mk
+\fB-\fBb\fR\fR
+.in +16n
+.rt
+Specify that
+the output should be in 8-bit format\&. By default, the output is in 16-bit
+format\&.
+.sp
+.sp 1
+.in -16n
+.sp
+.ne 2
+.mk
+\fB-\fBh\fR\fR
+.in +16n
+.rt
+Display help
+text, and exit\&.
+.sp
+.sp 1
+.in -16n
+.sp
+.ne 2
+.mk
+\fB-\fBm\fR\fR
+.in +16n
+.rt
+Specify that
+the output should be in mono format\&. By default, the output is in stereo format\&.
+.sp
+.sp 1
+.in -16n
+.sp
+.ne 2
+.mk
+\fB-\fBr \fIfreq\fR\fR\fR
+.in +16n
+.rt
+Specify that the output rate should be set to \fIfreq\fR\&. By default, the output rate is set to 44\&.1 kHz\&.
+.sp
+.sp 1
+.in -16n
+.SH "EXAMPLES"
+.PP
+\fBExample 1: Record sound from sound device to file "sample"\fR
+.PP
+.PP
+.nf
+example% \fBesdrec > sample\fR
+.fi
+.SH "EXIT STATUS"
+.PP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+\fB\fB0\fR\fR
+.in +9n
+.rt
+Application exited successfully
+.sp
+.sp 1
+.in -9n
+.sp
+.ne 2
+.mk
+\fB\fB>0\fR\fR
+.in +9n
+.rt
+Application
+exited with failure
+.sp
+.sp 1
+.in -9n
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIesd\fR\|(1), \fIesdcat\fR\|(1), \fIesddsp\fR\|(1), \fIesdloop\fR\|(1), \fIesdplay\fR\|(1), \fIesdsample\fR\|(1),
+\&\fIesd-config\fR\|(1), \fIesdctl\fR\|(1), \fIesdfilt\fR\|(1), \fIesdmon\fR\|(1)
diff --git a/docs/esdsample.1.in b/docs/esdsample.1.in
new file mode 100644
index 0000000..8d8289a
--- /dev/null
+++ b/docs/esdsample.1.in
@@ -0,0 +1,155 @@
+'\" te
+.TH ESDSAMPLE 1 "EsounD @VERSION@" "February 2006" "Enlightened Sound Daemon"
+.SH "NAME"
+esdsample \- play a sample
+.SH "SYNOPSIS"
+.PP
+\fBesdsample\fR [-\fBs \fIhostname\fR:\fIport\fR\fR] [-\fBb\fR] [-\fBd\fR] [-\fBe\fR] [-\fBh\fR] [-\fBm\fR] [-\fBr \fIfreq\fR\fR] \fB\fIsamplename\fR\fR
+.SH "DESCRIPTION"
+.PP
+The \fBesdsample\fR utility plays a sample using the Enlighted
+Sound Daemon (\fBesd\fR)\&.
+.SH "OPTIONS"
+.PP
+The following options are supported:
+.sp
+.ne 2
+.mk
+\fB-\fBs \fIhostname\fR:\fIport\fR\fR\fR
+.in +16n
+.rt
+Contact the \fBesd\fR server on \fIhostname\fR at \fIport\fR\&.
+.sp
+.sp 1
+.in -16n
+.sp
+.ne 2
+.mk
+\fB-\fBb\fR\fR
+.in +16n
+.rt
+Specify that
+the output should be in 8-bit format\&. By default, the output is in 16-bit
+format\&.
+.sp
+.sp 1
+.in -16n
+.sp
+.ne 2
+.mk
+\fB-\fBd\fR\fR
+.in +16n
+.rt
+Play the sample
+from file as raw data\&. The default behavior is to read the data from a sound
+file (\fB\&.wav\fR, \fB\&.au\fR, and so on)\&. If
+this option is chosen, \fB\fIsamplename \fR\fRis
+the name of a file\&.
+.sp
+.sp 1
+.in -16n
+.sp
+.ne 2
+.mk
+\fB-\fBe\fR\fR
+.in +16n
+.rt
+Play the sample
+from the \fBesd \fRcache\&. If this option is chosen, \fB\fIsamplename \fR\fR is the name of the sample in the cache\&.
+.sp
+.sp 1
+.in -16n
+.sp
+.ne 2
+.mk
+\fB-\fBh\fR\fR
+.in +16n
+.rt
+Display help
+text, and exit\&.
+.sp
+.sp 1
+.in -16n
+.sp
+.ne 2
+.mk
+\fB-\fBm\fR\fR
+.in +16n
+.rt
+Specify that
+the output should be in mono format\&. By default, the output is in stereo format\&.
+.sp
+.sp 1
+.in -16n
+.sp
+.ne 2
+.mk
+\fB-\fBr \fIfreq\fR\fR\fR
+.in +16n
+.rt
+Specify that the output rate should be set to \fIfreq\fR\&. By default, the output rate is set to 44\&.1 kHz\&.
+.sp
+.sp 1
+.in -16n
+.SH "OPERANDS"
+.PP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+\fB\fB\fIsamplename\fR\fR\fR
+.in +16n
+.rt
+The name of the sample
+to be played\&. If the -\fBe\fR option is used, \fB\fIsamplename \fR\fRis the \fBesd \fR cache
+name\&. Otherwise, \fB\fIsamplename \fR\fR
+is a filename\&.
+.sp
+.sp 1
+.in -16n
+.SH "EXAMPLES"
+.PP
+\fBExample 1: Playing a sample from a file \fR
+.PP
+.PP
+.nf
+example% \fBesdsample generic\&.wav\fR
+.fi
+.PP
+\fBExample 2: Playing a sample from the esd cache\fR
+.PP
+.PP
+.nf
+example% \fBesdsample -\fBe\fR esdctl:generic\&.wav\fR
+.fi
+(where \fBesdctl:generic\&.wav\fR is the
+cache name)
+.SH "EXIT STATUS"
+.PP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+\fB\fB0\fR\fR
+.in +9n
+.rt
+Application exited successfully
+.sp
+.sp 1
+.in -9n
+.sp
+.ne 2
+.mk
+\fB\fB>0\fR\fR
+.in +9n
+.rt
+Application
+exited with failure
+.sp
+.sp 1
+.in -9n
+.SH "SEE ALSO"
+.PP
+\&\fIesd\fR\|(1), \fIesdcat\fR\|(1), \fIesddsp\fR\|(1), \fIesdloop\fR\|(1), \fIesdplay\fR\|(1),
+\&\fIesd-config\fR\|(1), \fIesdctl\fR\|(1), \fIesdfilt\fR\|(1), \fIesdmon\fR\|(1), \fIesdrec\fR\|(1)
+
diff --git a/docs/esound.sgml b/docs/esound.sgml
new file mode 100644
index 0000000..419f370
--- /dev/null
+++ b/docs/esound.sgml
@@ -0,0 +1,816 @@
+<?xml version="1.0"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+
+<book id="index">
+
+ <!-- ========================================== -->
+
+ <bookinfo>
+ <date>1998-01-13</date>
+ <title>EsounD</title>
+ <subtitle>The Enlightened Sound Daemon</subtitle>
+ <releaseinfo>documentation in progress</releaseinfo>
+ <authorgroup>
+ <author>
+ <firstname>Eric</firstname>
+ <othername>'Ricdude</othername>
+ <surname>Mitchell</surname>
+ </author>
+ </authorgroup>
+ <address>
+ <email>ericmit@ix.netcom.com</email>
+ </address>
+ <copyright>
+ <year>1998</year>
+ <holder>Eric B. Mitchell</holder>
+ </copyright>
+ <legalnotice id="legalnotice">
+ <para>
+ This document can be freely redistributed according to the
+ terms of the GNU General Public License.
+ </para>
+ </legalnotice>
+ </bookinfo>
+
+ <chapter id="introduction">
+ <title>Introduction</title>
+
+ <para>
+ So you've got your (insert sound playing program here) cruising
+ at full tilt, and you want to check out this cool Monty Python
+ quote, but you don't want to kill the original sound? This is
+ just the fix, with a little tweaking, of course. =P
+ </para>
+
+ <para>
+ The Enlightened Sound Daemon can mix several audio streams into
+ one sound device. It will mix in pre-loaded samples, too. Want
+ to play a frightening sound whenever the user presses the
+ &quot;go&quot; button? No problem, just cache it, and play it
+ back by sample id number.
+ </para>
+
+ <sect1 id="caveats">
+ <title>Caveats</title>
+
+ <para>
+ This is hot off the presses software, get it while it's still
+ hot. It's still got a ways to go yet. Be prepared for a
+ bumpy ride. Any and all reasonable patches and improvements
+ accepted. I expect the communication protocol to change at
+ least once more before it hits 1.0.
+ </para>
+
+ </sect1>
+
+ <sect1 id="requirements">
+ <title>Requirements</title>
+
+ <para>
+ The Enlightened Sound Daemon requires the following:
+ </para>
+
+ <para>
+ Linux, version 2.??? or higher. I run 2.0.34-RH5.1, but I don't think
+ the sound API has significantly changed recently. If you find it to
+ be incompatible with different kernel/OSS revs, let me know.
+ </para>
+
+ <para>And of course, a sound device.
+ </para>
+
+ <para>
+ Currently, this only runs under Linux. Everything except recording
+ seems to work ok on SGI/Irix soon. Reports indicate it works ok on
+ Solaris. Ports to other platforms are requested. Basic drivers for
+ other platforms are in the distribution, but may need work from what's
+ in the driver_platform.c files.
+ </para>
+
+ </sect1>
+
+ </chapter>
+
+ <!-- ========================================== -->
+
+ <chapter id="downloading-compiling-installing">
+ <title>Downloading, Compiling, and Installing</title>
+
+ <sect1 id="downloading">
+ <title>Downloading</title>
+
+ <para>
+ The Enlightened Sound Daemon is available for download from
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink url="ftp://ftp.enlightenment.org/pub/ricware/esound-0.2.4.tar.gz">
+ Enlightenment.org public ftp site</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink url="http://winblowz.com/~e/files/TAR/esound-0.2.4.tar.gz">
+ Winblowz.com Enlightenment Mirror Site</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink url="http://www.netcom.com/~ericmit/esound_0_2_4.tgz">
+ The EsounD Web Site</ulink></para>
+ </listitem>
+ </itemizedlist>
+
+ </para>
+
+ </sect1>
+
+ <sect1 id="compiling">
+ <title>Compiling</title>
+
+ <procedure>
+
+ <step>
+ <para>Extract the contents of the archive.</para>
+ <literallayout>
+ <prompt>&gt; </prompt><userinput> tar xvfz esound-0.2.4.tar.gz</userinput>
+ </literallayout>
+ </step>
+
+ <step>
+ <para>To compile the package, change to the newly created
+ esound-0.2.4 directory, and type:</para>
+ <literallayout>
+ <prompt>&gt; </prompt><userinput> configure ; make all</userinput>
+ </literallayout>
+ </step>
+
+ <step>
+ <para>A sample test script is provided, follow the directions
+ given by the test script:</para>
+ <literallayout>
+ <prompt>&gt; </prompt><userinput> ./test-script</userinput>
+ </literallayout>
+ </step>
+
+ </procedure>
+
+ <para>
+ The sound daemon, and the command line toolset should build as is.
+ All executables should run fine from the source directory.
+ </para>
+
+ </sect1>
+
+ <sect1 id="installing">
+ <title>Installing</title>
+
+ <procedure>
+ <para>
+ Installing the EsounD package is accomplished by typing:
+ </para>
+
+ <step>
+ <para>
+ <literallayout>
+ <prompt>&gt; </prompt><userinput> make isntall</userinput>
+ </literallayout>
+ </para>
+ </step>
+ </procedure>
+
+ <para>
+ This will copy all relevant files to useful/accessible places.
+ </para>
+
+ </sect1>
+
+ </chapter>
+
+ <!-- ========================================== -->
+
+ <chapter id="running-esound">
+ <title>Running EsounD</title>
+
+ <sect1 id="esd">
+ <title>esd</title>
+
+ <para>
+ The Enlightened Sound Daemon
+ </para>
+
+ <para>
+ <command>esd</command> <option>[options]</option>
+ </para>
+
+ <informaltable frame="all">
+ <tgroup cols="2">
+ <thead>
+ <row><entry>option</entry><entry>purpose</entry></row></thead>
+ <tbody>
+ <row>
+ <entry>-nobeeps</entry>
+ <entry>inhibits the default startup tone sequence</entry>
+ </row>
+ <row>
+ <entry>-d DEVICE</entry>
+ <entry>use audio device DEVICE (esd -h for values)</entry>
+ </row>
+ <row>
+ <entry>-b</entry>
+ <entry>run server in 8 bit sound mode</entry>
+ </row>
+ <row>
+ <entry>-r RATE</entry>
+ <entry>run server at sample rate of RATE</entry>
+ </row>
+ <row>
+ <entry>-as SECS</entry>
+ <entry>free audio device after SECS of inactivity</entry>
+ </row>
+ <row>
+ <entry>-vt</entry>
+ <entry>enable trace diagnostic info (debug builds only)</entry>
+ </row>
+ <row>
+ <entry>-vc</entry>
+ <entry>enable comms diagnostic info (debug builds only)</entry>
+ </row>
+ <row>
+ <entry>-vm</entry>
+ <entry>enable mixer diagnostic info (debug builds only)</entry>
+ </row>
+ <row>
+ <entry>-port port</entry>
+ <entry>accept connections on given port (default=5001)</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <para>
+ In addition, "kill -HUP esd-pid resets ownership of the daemon.
+ The file, &tilde;/.esd-auth, is used for authentication, and is
+ created if needed.
+ </para>
+
+ </sect1>
+
+ <sect1 id="esdctl">
+ <title>esdctl</title>
+
+ <para>
+ controls certain aspects of the sound daemon.
+ </para>
+
+ <para>
+ <command>esdctl</command> <option>[options]</option>
+ </para>
+
+ <informaltable frame="all">
+ <tgroup cols="2">
+ <thead>
+ <row><entry>commands</entry><entry>purpose</entry></row></thead>
+ <tbody>
+ <row>
+ <entry>lock</entry>
+ <entry>foreign clients may not use the server</entry>
+ </row>
+ <row>
+ <entry>unlock</entry>
+ <entry>foreign clients may use the server</entry>
+ </row>
+ <row>
+ <entry>standby, off</entry>
+ <entry>suspend sound output for other programs</entry>
+ </row>
+ <row>
+ <entry>resume, on</entry>
+ <entry>resume sound output</entry>
+ </row>
+ <row>
+ <entry>cache SAMPLE</entry>
+ <entry>cache sample from file SAMPLE in the server</entry>
+ </row>
+ <row>
+ <entry>getid NAME</entry>
+ <entry>retrieve a sample id from its name</entry>
+ </row>
+ <row>
+ <entry>free NAME</entry>
+ <entry>uncache a sample in the server by NAME</entry>
+ </row>
+ <row>
+ <entry>play NAME</entry>
+ <entry>play a cached sample once</entry>
+ </row>
+ <row>
+ <entry>loop NAME</entry>
+ <entry>play a cached sample in a loop</entry>
+ </row>
+ <row>
+ <entry>stop NAME</entry>
+ <entry>stop a looping sample at end of sample</entry>
+ </row>
+ <row>
+ <entry>serverinfo</entry>
+ <entry>get server info from server</entry>
+ </row>
+ <row>
+ <entry>allinfo</entry>
+ <entry>get player and sample info from server</entry>
+ </row>
+ <row>
+ <entry>panstream ID LEFT RIGHT</entry>
+ <entry>set left and right volume levels for a stream</entry>
+ </row>
+ <row>
+ <entry>pansample ID LEFT RIGHT</entry>
+ <entry>set default left and right volume levels for a sample</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <para>
+ lock - only the "owner" of the daemon can play sounds. the first key
+ (obtained from &tilde;/.esd-auth) submitted to the daemon identifies
+ the owner.
+ </para>
+
+ <para>
+ unlock - anyone can play sounds through the daemon.
+ </para>
+
+ <para>
+ standby - frees the audio device for use by other programs. all
+ sounds are ignored until the daemon is resumed.
+ </para>
+
+ <para>
+ resume - brings daemon out of standby mode
+ </para>
+
+ <para>
+ NOTE: more than one option may be listed on the command line
+ </para>
+
+ </sect1>
+
+ <sect1 id="esdcat-esdmon-esdrec">
+ <title>esdcat, esdmon, esdrec</title>
+
+ <para>
+ esdcat plays a raw audio stream through the daemon. esdmon outputs the
+ mixed stream from the daemon. esdrec outputs from the sound device's
+ current input.
+ </para>
+
+ <para>
+ <command>esdcat</command> <option>[options] [file=stdin]</option>
+ </para>
+ <para>
+ <command>esdmon</command> <option>[options] [file=stdout]</option>
+ </para>
+ <para>
+ <command>esdrec</command> <option>[options] [file=stdout]</option>
+ </para>
+
+ <informaltable frame="all">
+ <tgroup cols="2">
+ <thead>
+ <row><entry>option</entry><entry>purpose</entry></row></thead>
+ <tbody>
+ <row>
+ <entry>-s SERVER</entry>
+ <entry>communicate with esound running at SERVER</entry>
+ </row>
+ <row>
+ <entry>-b</entry>
+ <entry>read/write 8 bit sample data</entry>
+ </row>
+ <row>
+ <entry>-m</entry>
+ <entry>read/write mono data</entry>
+ </row>
+ <row>
+ <entry>-r RATE</entry>
+ <entry>use a sampling rate of RATE</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <para>
+ NOTE: options for esdcat, esdmon, and esdrec default to 16 bit
+ (signed), stereo, 44.1kHz
+ </para>
+
+ </sect1>
+
+ <sect1 id="esdsample-esdloop">
+ <title>esdsample, esdloop</title>
+
+ <para>
+ esdsample is test scaffolding for sample cache, play back, and free.
+ esdloop is test scaffolding for sample cache, loop, and free. These
+ utilities have no practical purpose beyond testing sample
+ functionality.
+ </para>
+
+ <para>
+ <command>esdsample</command> <option>[options] file</option>
+ </para>
+ <para>
+ <command>esdloop</command> <option>[options] file</option>
+ </para>
+
+ <informaltable frame="all">
+ <tgroup cols="2">
+ <thead>
+ <row><entry>option</entry><entry>purpose</entry></row></thead>
+ <tbody>
+ <row>
+ <entry>-s SERVER</entry>
+ <entry>communicate with esound running at SERVER</entry>
+ </row>
+ <row>
+ <entry>-b</entry>
+ <entry>read/write 8 bit sample data</entry>
+ </row>
+ <row>
+ <entry>-m</entry>
+ <entry>read/write mono data</entry>
+ </row>
+ <row>
+ <entry>-r RATE</entry>
+ <entry>use a sampling rate of RATE</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <para>
+ options:
+ -s server = communicate with esound running at server
+
+ -b = 8 bit unsigned char
+
+ -m = mono
+
+ -r rate = sample rate of rate Hz.
+ </para>
+
+ <para>
+ options for esdsample and esdloop default to 16 bit signed short,
+ stereo, 44.1kHz
+ </para>
+
+ </sect1>
+
+ <sect1 id="environment-variables">
+ <title>Environment Variables</title>
+
+ <para>
+ All client programs (except esdctl) can connect to remote hosts via
+ the <envar>ESPEAKER</envar> environment variable:
+
+ <literallayout>
+ <prompt>bash $ </prompt><userinput>export ESPEAKER=inet.addr.of.host:port</userinput>
+
+ <prompt>tcsh &gt; </prompt><userinput>setenv ESPEAKER inet.addr.of.host:port</userinput>
+ </literallayout>
+
+ The client will connect to EsounD running on the specified host on the
+ specified port.
+ </para>
+
+ </sect1>
+
+ </chapter>
+
+ <!-- ========================================== -->
+
+ <chapter id="miscellaneous">
+ <title>Miscellaneous Information</title>
+
+ <sect1 id="new-features">
+ <title>New Features</title>
+
+ <para>
+ Version 0.2.4
+
+ more bug fixes, mostly works on irix now.
+
+ incompatible changes to client side API. streams and samples
+ now have names, and you can specify a host in esd_open_sound().
+ </para>
+
+ <para>
+ Version 0.2.3
+
+ bug fixes
+
+ </para>
+
+ <para>
+ Version 0.2.2
+
+ added reference counting to samples, so freeing samples works
+
+ added first cut at drivers for other platforms. no idea if they work
+
+ </para>
+
+ <para>
+ Version 0.2.1
+
+ the configure style installation now works if you don't already have a
+ previous version installed. Evil gnu automake &gt;=P
+
+ better handling of "dead" time: should use 0&percnt; cpu if it's not actually
+ doing anything
+ </para>
+
+ <para>
+ Version 0.2
+
+ a configure style installation is now available.
+
+ added network support
+
+ optional /dev/dsp fallback for stream play and record
+
+ other forgotten features and bug fixes
+
+ </para>
+
+ </sect1>
+
+ <sect1 id="deficiencies">
+ <title>Known Problems, Deficiencies, and Possible Workarounds</title>
+
+ <para>
+ "unsupported sound format: 33" - This happens on cards that don't
+ support playback of 16bit, stereo, 44.1kHz sound. Try running in 8
+ bit mode (esd -b), or at a lower playback rate (esd -r 22050), or both
+ (esd -b -r 22050)
+ </para>
+
+ <para>
+ "unable to connect to server at port 35091" - This means the client
+ cannot contact the server. Make sure you have SysV IPC enabled in
+ your kernel
+ </para>
+
+ <para>
+ Documentation of the API is in sad shape, but for now it's still in
+ development (i.e. subject to change). See the source of the sample
+ command line driver utilities (esd?*) for usage.
+ </para>
+
+ <para>
+ Any other pressing issues, problems, or patches may be directed to
+ ericmit@ix.netcom.com. Please mention EsounD and the version number
+ (date for cvs checkouts) in the subject line.
+ </para>
+
+ </sect1>
+
+ <sect1 id="planned-development">
+ <title>Planned Development and Top Suggestions So Far...</title>
+
+ <para>
+ Porting of more sound playing applications. For sound programs that
+ send their output to /dev/dsp, this is usually a trivial process.
+ Anyone willing to lend a hand in this effort will be duly appreciated.
+ </para>
+
+ </sect1>
+
+ <sect1 id="feature-additions">
+ <title>Planned Feature Additions</title>
+
+ <para>
+ See the TODO file for unorganized thoughts about where to go from
+ here.
+ </para>
+
+ </sect1>
+
+ </chapter>
+
+ <!-- ========================================== -->
+
+ <chapter id="supported-programs">
+ <title>Enlightened Sound Daemon Aware Audio Programs</title>
+
+ <sect1 id="emusic">
+ <title>eMusic</title>
+
+ <para>
+ <ulink url="http://www.icom.net/~smelecat/emp3/index.htm"> eMusic</ulink>
+ is an Enlightenend music player, which is capableof playing MP3, MOD,
+ WAV, AU, and CD files. All graphic elements of the program are fully
+ customizable.
+ </para>
+
+ </sect1>
+
+ <sect1 id="xmp">
+ <title>The Extended Module Player</title>
+
+ <para>
+ <ulink url="http://xmp.home.ml.org"> Extended Mudule Player</ulink>
+ is a MOD tracker, which also has an Xwindows interface.
+ </para>
+
+ </sect1>
+
+ <sect1 id="mpg123">
+ <title>mpg123</title>
+
+ <para>
+ <ulink url="http://www.netcom.com/~ericmit/mpg123_esd.tgz">
+ mpg123</ulink> is a command line program which plays mpeg layer 3
+ audio files.
+ </para>
+
+ </sect1>
+
+ </chapter>
+
+ <!-- ========================================== -->
+
+ <chapter id="esound-api">
+ <title>The EsounD API</title>
+
+ <sect1 id="put-something-useful-here">
+ <title>Need to put something useful in here.</title>
+
+ <para>
+ Better yet, extract it from the source files.
+ </para>
+
+ </sect1>
+
+ </chapter>
+
+ <!-- ========================================== -->
+
+ <chapter id="design-docs">
+ <title>Rough Design Docs</title>
+
+ <sect1 id="covered-formats">
+ <title>Covered Formats</title>
+
+ <para>
+ Digital Waveforms
+ </para>
+
+ <para>
+ No MIDI, No MOD
+ </para>
+
+ </sect1>
+
+ <sect1 id="organization">
+ <title>Client/Server Organization</title>
+
+ <para>
+ Server does the dirty work for byte swapping, scaling, etc.
+ </para>
+
+ </sect1>
+
+ <sect1 id="signal-path">
+ <title>The Audio Signal Path</title>
+
+ <para>
+ The audio signal travels the following path from source to speaker.
+ Samples and streams are read via players
+ </para>
+
+ </sect1>
+
+ <sect1 id="authentication">
+ <title>Authentication Model</title>
+
+ <para>
+ Your .esd_auth file
+ </para>
+
+ </sect1>
+
+ <sect1 id="player-type">
+ <title>The Player Type</title>
+
+ <para>
+ read_player()
+ </para>
+
+ </sect1>
+
+ <sect1 id="anything-else">
+ <title>Anything Else?</title>
+
+ <para>
+ Anything Else?
+ </para>
+
+ </sect1>
+
+ </chapter>
+
+ <!-- ========================================== -->
+
+ <reference>
+
+ <title>EsounD Command Reference</title>
+
+ <refentry id="refentry-esd">
+ <indexterm id="index-esd"><primary>esd</primary></indexterm>
+
+ <refmeta>
+ <refentrytitle>esd</refentrytitle>
+ <manvolnum>1</manvolnum>
+ </refmeta>
+
+ <refnamediv>
+ <refname>esd</refname>
+ <refpurpose>The Enlightened Sound Daemon</refpurpose>
+ </refnamediv>
+
+ <refsynopsisdiv>
+ <refsynopsisdivinfo>
+ <date>August 26, 1999</date>
+ </refsynopsisdivinfo>
+
+ <synopsis>
+ esd [options]
+ </synopsis>
+
+ <refsect2 id="rs2-options">
+ <refsect2info>
+ <date>6 march 1996</date>
+ </refsect2info>
+ <title>options</title>
+ <variablelist>
+ <varlistentry>
+ <term><replaceable class="parameter">-nobeeps</replaceable></term>
+ <listitem>
+ <para>
+ Specifies an array of child widgets. Each child must be
+ of class RectObj or any subclass thereof.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><replaceable class="parameter">-as [SECS]</replaceable></term>
+ <listitem>
+ <para>
+ Specifies the number of elements in <replaceable
+ class="parameter">children</replaceable>.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ </refsynopsisdiv>
+
+ <refsect1 id="r1-1007-unmanagechildren-2">
+ <title>usage</title>
+ <para>
+ unmanaging widgets is the usual method for temporarily making
+ them invisible. they can be re-managed with
+ <function>xtmanagechildren()</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ </reference>
+
+ <!-- --------------------------------------------------------------------- -->
+
+ <appendix id="Remaining-details">
+ <title>Remaining details</title>
+
+ <para>
+ Although this booklet is quite complete, here I will mention some
+ details I never got to.
+ </para>
+
+ <sect1 id="Use-of-the-word-dude">
+ <title>Use of the word dude</title>
+
+ <para>
+ Here's an example of how to say <emphasis>dude</emphasis>: DUDE.
+
+ </para>
+
+ </sect1>
+
+ </appendix>
+
+ <!-- --------------------------------------------------------------------- -->
+
+</book>