rorywalsh / csoundo

A Csound Library for Processing
24 stars 2 forks source link

'Csoundo' A Csound library for Processing

Jacob Joaquin, Conor Robotham, Rory Walsh

Copyright (c) 2010 jacobjoaquin@gmail.com http://csoundblog.com/

What is Processing?

"Processing is an open source programming language and environment for people who want to create images, animations, and interactions. Initially developed to serve as a software sketchbook and to teach fundamentals of computer programming within a visual context, Processing also has evolved into a tool for generating finished professional work. Today, tens of thousands of students, artists, designers, researchers, and hobbyists who use Processing for learning, prototyping, and production."

http://processing.org/

What is Csound?

"Csound is a sound and music synthesis system, providing facilities for composition and performance over a wide range of platforms. It is not restricted to any style of music, having been used for many years in the creation of classical, pop, techno, ambient, experimental, and (of course) computer music, as well as music for film and television."

http://csound.sourceforge.net/

Building

1) Install Csound or build from source(Instructions below).

2) cd to the src directory of the csoundo folder and edit the make.sh file there so that it points to valid core.jar and csnd6.jar files.

3) From the same directory run ./make.sh to build the library.

3) After it builds you need to copy your entire csoundo folder, minus the src directory if you wish, to your sketchbook/libraries/ folder. This is a folder that Processing creates in your home directory when it runs.

4) (Windows and Linux only) Open your Processing and Processing.java files from your processing install directory and add the csound library path. Just replace the following lines:

java -Djna.nosys=true processing.app.Base "$SKETCH" &

with:

java -Djna.nosys=true -Djava.library.path=/usr/local/lib processing.app.Base "$SKETCH" &

4) (OSX users) If you receive an 'java.lang.UnsatisfiedLinkError: no _jcsound6 in java.library.path' error, please try adding a copy of lib_jcsound6.jnilib from the Csound64.framework to the library folder of csoundo that resides in your Processing documents folder. The folder structure of your installed csoundo library should look like this:

processing -> libraries -> csoundo -> examples library -> csoundo.jar csnd.jar lib_jcsound6.jnilib

Note for Linux users

You many need to install java 1.6 in order for Processing to recognise the Csoundo library. Many flavours of Linux ship with Open Java. You can check the version by typing 'java -version' from the terminal. If you have openJDK installed you will need to revert to Java SE 1.6. After you have installed Java 1.6 you will need to rebild Csound so that the csnd6.jar file is rebuilt with the correct version of Java.

Building Csound 6

The first thing to do is get a copy of the Csound 6 sources. The following instructions are written for those getting a copy of the source code from Git. You will need to adjust the steps accordingly when using the source tarball from the files section.

The first thing to do is make sure you have all of the required dependencies for building Csound. In a terminal, do the following:

sudo apt-get build-dep csound
sudo apt-get install cmake
sudo apt-get install git

The following numbered steps are to be done in a terminal for building and installing Csound:

cd ~
mkdir csound
cd csound
git clone https://github.com/csound/csound.git csound
mkdir cs6make
cd cs6make
cmake ../csound
make -j6
sudo make install
sudo ldconfig

At this point, Csound 6 should now be compiled and installed into the /usr/local set of folders.