libxm-soundboard 0.0.3

An modified fork of libxm-rs https://github.com/nukep/libxm-rs for internal usage with the project soundboard
Documentation
Building libxm
==============
libxm uses cmake to build and compile, handle options.

Building with standard settings
-------------------------------
To make libxm with all standard settings, simply go to the root directory and run ``make``. This will setup the cmake build files in the ``build`` folder. Once you change to that folder, type ``make`` again and your files will be built.

```
$ make
...

$ cd build/

$ make
Scanning dependencies of target xm
...
[ 40%] Built target xm
...
[ 80%] Built target xms
...
[100%] Built target xmtoau

$ ls examples/
CMakeFiles     Makefile     cmake_install.cmake     xmbench     xmtoau
```

You can then use the standard example programs ``xmbench`` and ``xmtoau``, or the library build in the ``build/src`` folder.

Building with custom settings
-----------------------------
To make libxm with custom settings, we need to run cmake outselves, with our custom settings. We need to make and change to the ``build/`` folder, and then we can go ahead.

Here is an example of building with the ``XM_LINEAR_INTERPOLATION`` option disabled

```
$ mkdir -p build/

$ cd build/

$ cmake -DXM_LINEAR_INTERPOLATION=OFF ..
...
-- Generating done
-- Build files have been written to: /path/libxm/build

$ make
```

**Options**

* ``XM_LINEAR_INTERPOLATION``: Interpolate sound output (smooth out the sounds). This can make modules sound nicer and cleaner, but some modules sound better with this disabled (Default: ON).
* ``XM_RAMPING``: Use smooth volume/panning transitions (Default: ON).

* ``XM_BUILD_SHARED_LIBS``: Build shared library (Defualt: ON).
* ``XM_BUILD_EXAMPLES``: Build example programs (Defualt: ON).

* ``XM_DEBUG``: Debug messages (Default: ON).
* ``XM_BIG_ENDIAN``: Assume big endian byte order (default: OFF, little endian assumed).

As shown above, if you wish to enable an option, you would use the cmake argument ``-DOPTION_NAME=ON``, and if you wish to disable it you would use the argument ``-DOPTION_NAME=OFF``