Skip to content

neithanmo/csound-rs

Repository files navigation

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

The repo has git submodules, you need to initialize them:

$ git submodule init
$ git submodule update

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

You can install Csound using your distro-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(recommended)

# First, install all the csound's dependencies
$ apt-get install build-essential libportaudio2 portaudio19-dev cmake /
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.

CsoundLib64.framework is expected in /Library/Frameworks/. If it's installed in a different path specify CSOUND_LIB_DIR for that.

Download the csound's installer for windows Follow the instalation steps.

  1. Locate your csound installation directory ( commonly it is C:\Program Files\Csound6_x64)
  2. Open Command Prompt (make sure you Run as administrator so you're able to add a system environment variable).
  3. Set the environment variable as follows:
$ setx CSOUND_LIB_DIR "C:\\Program Files\\Csound6_x64\\lib"
  1. Restart Command Prompt to reload the environment variables then use the following command to check the it's been added correctly.
$ echo %CSOUND_LIB_DIR%

You should see the path to your Csound's lib installation.

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.

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 10 just:

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

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

# Runs the example 11
$ cd examples/example11
$ 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

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.

About

This is a Rust bindings for Csound.

Resources

License

Stars

Watchers

Forks

Packages

No packages published