csound 0.1.3

Raw bindings to libcsound64 High level Rust bindings are available in the `csound` crate
docs.rs failed to build csound-0.1.3
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: csound-0.1.7

Build Status

csound

Csound bindings for Rust.

Documentation can be found here

Table of Contents

  1. Installation
    1. Linux/BSDs
    2. macOS
    3. Windows
  2. Getting Started
  3. License
  4. Contribution

Installation

To build the Csound bindings or anything depending on this crate, you need to have at least Csound 6.11, previous version of Csound are not suported. By default( The only supported way), this crate will attempt to dynamically link to the system-wide libcsound64.

Linux/BSDs

You need to install Csound with your distributions package manager, or in case your package manager has a unsupported version of Csound( <6.11 ) you have to build it from source.

On Debian/Ubuntu Csound can be installed with

# Make sure the version of this package is >= 6.11
$ apt-get install libcsound64-6.0 libcsound64-dev

Also, You can compile it from source and install

# First, install all the csound's dependencies
$ apt-get install build-essential libportaudio2 portaudio19-dev cmake //
lib64ncurses5-dev lib64ncurses5 flex bison libsndfile1-dev libsndfile1

then, clone the csound's source code

# Clone Csound from its repository
$ git clone https://github.com/csound/csound.git

Compile and install the library.

# Clone Csound from its repository
$ cd csound/
$ cmake . && make && sudo make install
$ sudo ldconfig

Csound will be installed in /usr/local/lib, there is where the build.rs script will look at, for the csound's binaries. so, It could be a good idea if you export this path in your bashrc or write a propper pkg-config file.

macOS

Please be free to send a pull request with the changes applied to the build scripts and instructions about how to use this crate along csound's native library

Windows

Again, please be free to send a pull request with the changes applied to the build scripts and instructions about how to use this crate along csound's native library

Getting Started

The API reference can be found here

For getting started withCsound-rs, you have to understand some basic concepts about Csound, before to try to use this bindigs. Please check the Get Started page in the Csound's site Get Started In addition there are csound api examples inside of the rust directory.

Csound's examples for rust

The easy way to get familiar with csound is to explore the examples. To get the examples we just need to clone this repository.

# Clone Csound from its repository
$ git clone https://github.com/neithanmo/csound-rs.git

Now, go to the repository directory

# Clone Csound from its repository
$ cd csound-rs

For running the examples 1 to 5 just:

# Runs the example 5
$ cargo --release --example example5

The anothers examples requires some dependencies, but you can run them through calling cargo on their own Cargo.toml file

# Runs the example 5
$ cd examples/example9
$ cargo --release build
$ cargo run

License

csound-rs is licensed under either

at your option.

Csound itself is licensed under the Lesser General Public License version 2.1 or (at your option) any later version: https://www.gnu.org/licenses/lgpl-2.1.html

Contribution

Any kinds of contributions are welcome as a pull request.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in csound-rs by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.