Giter VIP home page Giter VIP logo

zengarden's Introduction

ZenGarden
Copyright RjDj, 2009
By Martin Roth <[email protected]>

ZenGarden is a standalone library for running Pure Data patches.

It is beta quality software - expect bugs and don't expect everything to be
implemented.

https://github.com/mhroth/ZenGarden/

Mailing list:
http://groups.google.com/group/zengarden?pli=1

Requirements
------------

libsndfile
	- OSX: port install libsndfile
	- Debian GNU/Linux: apt-get install libsndfile1-dev
	- Nintendo DS: *experimental* see below

java - for the java example - you need at least java5
	- Debian: apt-get install sun-java6-jdk

python - for the python example
	- ctypes (in Python 2.5 or greater)
	- pygame - http://pygame.org/

Run
---

The following commands both optionally take the full path to a Pd patch as
their first argument:

 * `./runme-java.sh`
 * `./runme-python.sh`

Build
-----

Here is how to build the library, JNI, etc. from scratch.
	cd src
	make

You can build individual components like so:
	# build the library as a shared object file
	make libzengarden
	# build the Java Native Interface as a shared object file
	make libjnizengarden
	# build the Java hosted example
	make examplegarden

Build: Nintendo DS
------------------

To build for Nintendo DS you first need to build libsndfile for NDS:
 * Download it from http://www.mega-nerd.com/libsndfile/#Download
 * Run the following commands in the directory where you unpacked the libsndfile source:

	export PATH=$PATH:$DEVKITARM/bin/
	./configure --enable-shared=no --enable-static=yes --disable-largefile --disable-alsa --disable-sqlite --host=arm-eabi --disable-external-libs --disable-test-coverage
	make
	# you may experience some errors to do with tests, but the .a file should be built anyway
	# now copy the libsndfile.a library into your ZenGarden development directory
	cp src/.libs/libsndfile.a ../ZenGarden/src/
	# finally, copy the sndfile.h header file to the ZenGarden development directory
	cp src/sndfile.h ../ZenGarden/src/

Finally, to build a static library for the nintendo DS, invoke the following command:

	OS=nds make libzengarden-static

This will create ../libs/nds/libzengarden.a and you can use this library to
statically link into your nintendo DS programs.

Advantages
----------

Why use ZenGarden?

* Clean code and API
* Portable and embeddable
	* Embedded devices, synthesizers
	* Mobile phones
	* Inside other languages
	* LADSPA, VST, etc.
* Compiling Pd as a library is non-trivial and requires modifications to Pd vanilla
* Less bloat
	* No GUI
	* No hardware specific audio driver code

Layout
------

src/
	- Source code

src/me/
	- Java JNI demo source

Xcode/
	- Xcode project

pd-patches/
	- Demo Pd patches

pd-patches/unittest/
	- Pd patches for doing unit testing of ZenGarden

zengarden's People

Stargazers

 avatar

Watchers

 avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.