GUIDO Engine Library musical score renderer layer for OpenFrameworks
README
ofxGuido
GUIDO Engine musical score renderer layer for OpenFrameworks
ofxGuido is a simple super-class for drawing scores rendered by the GUIDO Engine library: http://guidolib.sourceforge.net/
ofxGuido was made in February 2014 by Thomas Coffy as a part of Ascograph, the graphical score editor for Antescofo: http://repmus.ircam.fr/mutant/ascograph
Originally cloned from https://github.com/k4rm/AscoGraph
Updated in 2019 by Dan Wilcox for tests at the ZKM | Hertz-Lab
Requirements
libSGUIDOEngine gudio2.tff installed on the system
Building
The GUIDO Engine header files and static library are required to build ofxGuido. These are currently included for macOS but the static lib will need to be built for other platforms.
Building GUIDO Engine
For macOS or Linux, you can use the included shell script to automate the process:
scripts/update_guido.sh
To do this manually, clone the source files and build for your platform:
~~~ git clone https://github.com/grame-cncm/guidolib cd guidolib mkdir -p build/platform cd build/platform cmake ../cmake -DSTATICLIB=yes make ~~~
For Windows, the GUIDOEngine docs recommend building with Visual Studio, so the Visual Studio project files will need to be generated by CMake instead of using Unix Makefiles.
This will result in a libSGUDIOEngine static library in the
build/lib directory which can be placed in the appropriate platform subdirectory within lib/guidolib/lib, ie. for 64-bit Linux64:~~~ cd /path/to/cloned/guidolib mkdir -p /path/to/openframeworks/addons/ofxGuido/lib/guidolib/lib/linux64 cp lib/libSGUIDOEngine.a /path/to/openframeworks/addons/ofxGuido/lib/guidolib/lib/linux64 ~~~
Note: For Windows, the static library will be named libSGUDIOEngine.lib and there may be an additional .dll which needs to be placed in your projects bin directory.
You should now be able to use the OF ProjectGenerator app to create an OF project using ofxGuido which will link the pre-build lib.
If the lib is not found by the linker, you may need to add an
ADDON_LIBS line to your platform target in addon_config.mk and re-run the ProjectGenerator.Updating Headers
If the GUIDO Engine headers also need to be updated, copy them from the cloned guidolib directory to
libs/guidolib/include:~~~ cp ../../src/engine/include/ /path/to/openframeworks/addons/ofxGuido/lib/guidolib/include ~~~
Running
GUDIO Engine requires two fonts:
Times New Roman: score text, should be included on the system
- guido2.ttf: score notation, must be installed on the system
libs/guidolib/res
ofxAddons