Building from source (Mac/Linux)
Building the TouchKeys application from source requires the following three libraries:
1. Juce [http://www.juce.com]: cross-platform C++ libraries covering everything from low-level data structures to a complete GUI toolkit.
2. boost [http://boost.org]: C++ utility libraries. The required libraries are header-only (none of the compiled boost libraries are needed). Libraries used include
3. liblo [http://liblo.sourceforge.net]: OSC library.
Standard compiler tools (Xcode on Mac, g++ on Linux) are also required.
Instructions for downloading Juce can be found here: http://www.juce.com/downloads
On Mac, no further setup is needed, but it can be helpful to build the Introjucer application, which creates and edits Juce projects and produces the project for Xcode. An Xcode project for Introjucer can be found in
On Linux, Juce depends on several libraries. This thread contains more information on installing the dependencies on Linux. As on Mac, it can be useful to build the Introjucer application, which is found in
Projects for Mac and Linux (Xcode and Makefile, respectively) are already created in the TouchKeys directory (
touchkeys/Builds). There is also a Linux32 target (
touchkeys/Builds/Linux32) used for cross-compiling a 32-bit Linux binary on a 64-bit system; this is not needed to compile for the native architecture of the machine.
Windows support is not yet added in this release, but will take the form on a Visual Studio project within the
The existing project files assume TouchKeys and Juce are located in the same directory. To change the path to Juce, open the
TouchKeys.jucer file in the Introjucer.
Download the latest boost release from http://boost.org. Further instructions on installing boost can be found here: http://www.boost.org/doc/libs/1_55_0/more/getting_started/unix-variants.html
Note that all boost libraries used by TouchKeys are header-only, so it is not necessary to compile the binary libraries. However, the boost header files must be located somewhere in the include search path (e.g. in
TouchKeys has been built with liblo 0.26, which can be downloaded from http://liblo.sourceforge.net.
Binary releases of the TouchKeys software link liblo statically, so the program can be run on machines without liblo installed. The Xcode project and Linux Makefile are therefore configured to look for a static library at
/usr/local/lib/liblo.a. (This can be changed in the Introjucer.) To build a static library, go to the liblo directory and run the following:
./configure --enable-static make sudo make install
Note: on Mac, if you want to build a universal binary (32/64-bit), you need to create a universal version of liblo. Use the following arguments to
configure to produce a universal build (original source):
./configure CFLAGS="-arch i386 -arch x86_64" CXXFLAGS="-arch i386 -arch x86_64" LDFLAGS="-arch i386 -arch x86_64" \ --disable-dependency-tracking --enable-static
Once the dependencies are installed, the TouchKeys application can be compiled.
On Mac: open
On Linux: in the
touchkeys/Builds/Linux directory, type