freeswitch/libs/libsndfile
2014-03-19 17:37:02 +00:00
..
Cfg fix empty libsndfile dir 2010-03-30 09:48:01 -05:00
doc remove generated file 2014-02-21 18:11:18 -05:00
examples FS-4657 --resolve update libsndfile to its latest master 2014-02-21 16:10:32 -06:00
M4 FS-4657 --resolve update libsndfile to its latest master 2014-02-21 16:10:32 -06:00
man FS-4657 --resolve update libsndfile to its latest master 2014-02-21 16:10:32 -06:00
Octave FS-4657 --resolve update libsndfile to its latest master 2014-02-21 16:10:32 -06:00
programs FS-4657 --resolve update libsndfile to its latest master 2014-02-21 16:10:32 -06:00
regtest FS-4657 --resolve update libsndfile to its latest master 2014-02-21 16:10:32 -06:00
Scripts FS-4657 --resolve update libsndfile to its latest master 2014-02-21 16:10:32 -06:00
src don't require python for libsndfile build 2014-02-24 14:02:22 -05:00
tests FS-4657 --resolve update libsndfile to its latest master 2014-02-21 16:10:32 -06:00
Win32
.update FS-4657 --resolve update libsndfile to its latest master 2014-02-21 16:10:32 -06:00
acinclude.m4 add more missing in acinclude.m4 2014-02-21 19:04:57 -05:00
AUTHORS
autogen.sh FS-4657 --resolve update libsndfile to its latest master 2014-02-21 16:10:32 -06:00
binheader_readf_check.py FS-4657 --resolve update libsndfile to its latest master 2014-02-21 16:10:32 -06:00
ChangeLog FS-4657 --resolve update libsndfile to its latest master 2014-02-21 16:10:32 -06:00
configure.ac Tweak sndfile for args 2014-03-19 17:37:02 +00:00
configure.gnu whoops 2009-11-25 18:24:02 +00:00
COPYING
echo-install-dirs.in FS-4657 --resolve update libsndfile to its latest master 2014-02-21 16:10:32 -06:00
INSTALL
libsndfile.spec.in FS-4657 --resolve update libsndfile to its latest master 2014-02-21 16:10:32 -06:00
make_lite.py FS-4657 --resolve update libsndfile to its latest master 2014-02-21 16:10:32 -06:00
Makefile.am fully disable pkgconfig, we don't install this anyways 2014-02-24 10:17:21 -05:00
Mingw-make-dist.sh FSBUILD-249 2010-02-23 22:56:54 +00:00
NEWS FS-4657 --resolve update libsndfile to its latest master 2014-02-21 16:10:32 -06:00
README FS-4657 --resolve update libsndfile to its latest master 2014-02-21 16:10:32 -06:00
README.md FS-4657 --resolve update libsndfile to its latest master 2014-02-21 16:10:32 -06:00
reconfigure.mk
sndfile.pc.in FS-4657 --resolve update libsndfile to its latest master 2014-02-21 16:10:32 -06:00
TODO

libsndfile

libsndfile is a C library for reading and writing files containing sampled audio data.

Hacking

The canonical source code repository for libsndfile is at https://github.com/erikd/libsndfile/.

You can grab the source code using:

$ git clone git://github.com/erikd/libsndfile.git

Building on Linux, OSX and Windows (Using GNU GCC) will require a number of GNU and other Free and Open Source Software tools including:

If you are on Linux, its probably best to install these via your Linux distribution's package manager.

If you want to compile libsndfile with support for formats like FLAC and Ogg/Vorbis you will also need to install the following optional libraries:

Support for these extra libraries is an all or nothing affair. Unless all of them are installed none of them will be supported.

$ ./autogen.sh

Running autogen.sh also installs a git pre-commit hook. The pre-commit hook is run each time a user tries to commit and checks code about to be committed against coding guidelines.

Nest step is to run configure, with the following configure options being recommended for anyone contemplating sending libsndfile patches:

$ ./configure --enable-gcc-werror

Finally libsndfile can be built and tested:

$ make
$ make check

Submitting Patches.

  • Patches should pass all pre-commit hook tests.
  • Patches should always be submitted via a either Github "pull request" or a via emailed patches created using "git format-patch".
  • Patches for new features should include tests and documentation.
  • Patches to fix bugs should either pass all tests, or modify the tests in some sane way.
  • When a new feature is added for a particular file format and that feature makes sense for other formats, then it should also be implemented for one or two of the other formats.