EigenD icon indicating copy to clipboard operation
EigenD copied to clipboard

The Eigenharp software

This is EigenD.

The open source release includes all of EigenD except Stage.

Contributing

If you would like to contribute to EigenD, we will gladly accept patches against this git repository. You must sign the Eigenlabs Contributor Agreement before we can accept anything from you.

Please go to the Developer Wiki for the Contributors Agreement.

 http://www.eigenlabs.com/wiki/Developers/

 

Issues

If you have any issues either building or running EigenD, please report these on the eigenlabs forum http://www.eigenlabs.com/forum/

The forum is read by many eigenharp players (as well as Eigenlabs), and you will get a faster response than, posting to issues on github which is only subscribed to by a small number.

Building EigenD

MAC OSX: to build application and eigend (tmp/app/EigenD.app) make to build full package (including stage/workbench and installer) make mpkg

Windows: to build application and eigend (tmp\bin\eigend.exe) bld.cmd to build full package (including Stage, Workbench and installer) bld.cmd target-mpkg

Linux: to build application and eigend (tmp/app/EigenD.app) make to build full package (including stage/workbench and installer) make pkg

Build requirements

Runtime Files

You will need to have the stock EigenD installed to get the runtime support (which is a vanilla Python install) and the Windows device drivers.

Steinberg SDK

obtains from : http://www.steinberg.net/en/company/developers.html you will need to register a developer account buts its free

You will need to obtain the VST headers from the Steinberg site.
use latest version of VST SDK and copy VST2 headers, also for windows you will need asiosdk XThen, place these in a sub directory under the EigenD directory called 'steinberg' e.g.

...
steinberg/pluginterfaces/base/*
steinberg/pluginterfaces/vst2.x/*
...
steinberg/public.sdk/source/*
...

(under mac osx, its easier to create a symbolic link in the EigenD directory to the steinberg SDK directory)

Windows

Visual Studio 2015, including Express - (http://www.microsoft.com/en-us/download/details.aspx?id=34673) NSIS v2.94 - (http://sourceforge.net/projects/nsis) WiX 3.9- (wixtoolset.org) Direct X SDK (June 2010) - (https://www.microsoft.com/en-us/download/details.aspx?id=6812)

note: links are subject to change

general notes: currently EigenD is using an older version of python, hence the reason we use the runtime supplied currently the build is using a version of SCons that is not compatible with VS2013

MacOSX

XCode (latest) or Xcode command line tools (https://developer.apple.com/xcode/downloads/) updated ctags, not really required but will remove 'error' you see at end of build

Linux

you will need these packages

build-essential libiw-dev libfreetype6-dev libx11-dev libxext-dev libxcursor-dev libasound2-dev libxinerama-dev mesa-common-dev

please note: linux build is highly experimental, and libs required may be subject to change. It would be very much appeciated if you build for linux,and have better instructions on requirements.

build/testing is done on Ubuntu (x86) and Raspbian (arm), the current GCC compiler for that distro is used.

Upgrade JUCE

juce is copied into the repo under lib_juce we do not generally make any changes to the JUCE source code EXCEPT we sometimes find that the latest version of compilers might break juce, so we fix these issues, as a 'one-off' on the assumption that roli/juce will 'catch up'

Compiler versions

with windows we use a fixed version of MSVC.

with Linux and MacOS we keep up with current 'stable release' of GCC and XCode. sometimes this can mean that the repo will temporarily be broken as compiler changes generate new errors.

the reason we are 'so sensitive' is that we treat all WARNINGS as ERRORS. (good practice for clean code), this means if a compile introduces a new warning (which is pretty common), suddenly the build will fail.

if you spot this, its best to fix the code , and submit a pull request.

alternatively , for a quick fix, you can disable the warning. (do not push a PR with this, it will not be accepted)