Sound engine for mobile devices and the web
C++ C HTML Haskell CMake Objective-C
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
config
doc
examples
external_libraries
faust/architecture
include
libs/android
platform
plugins
src/Methcla
tests
tools
.ci.sh
.gitignore
.gitmodules
.travis.yml
CHANGELOG.md
LICENSE
NOTICE
README.md
Shake_Methcla.hs
VERSION
methcla-shakefile.cabal
methcla-shakefile.hs
shake
stack.yaml

README.md

Methcla - Mobile sound engine

Methcla is a light-weight, efficient sound engine for mobile devices, see our website for the full picture.

Build requirements

  • GCC >= 4.7 or Clang >= 3.3

Building the sound engine

Our build system is written in Haskell using the Shake library and you need to install the latest Haskell platform before building Methcla.

First off, don't forget to

git submodule update --init --recursive

after pulling from Methcla's repository.

To build a specific target (see below for a list of possible targets):

./shake TARGET

To clean everything

./shake clean

Use the -j flag for parallel builds:

./shake -j4 test

The build script automatically passes the number of core in your build machine, use -j1 to force a sequential build.

The -c flag allows to select a build configuration (release or debug):

./shake -c release test

Display the list of Shake command line options:

./shake -h

All built files are put in the build directory.

Here's a non-exhaustive list of targets:

  • test: Run the test suite; this should be first thing to do when porting to a new platform.
  • desktop: Build a shared library for the host operating system
  • iphoneos: Build a static library for iOS devices
  • iphone-universal: Build a static library for iOS devices and simulator
  • android: Build a static library for Android
  • pnacl: Build a static library for Pepper/PNaCl

Examples

thADDeus is an example project that builds the engine for iOS and Android devices and provides a simple multitouch sine synthesizer.

The sampler example is a simple multitouch sampler application.