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
- libSGUIDOEngine
- gudio2.tff installed on the system
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.
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.
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
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
Make sure you install gudio2.ttf on your system, it can be found in:
libs/guidolib/res