[chuck-users] ChucK FLOSS - MIDI reference

Ben Sandvik bpsandvik at gmail.com
Sun May 27 15:06:25 EDT 2018

Jack's note that miniAudicle is only looking in C:\Program
Files\ChucK\chugins\ ended up being the key here.  I now have some o the
chugins installed and working :)  I had the 10/21/2015 .chug versions
floating around my computer from, I made sure the 02/05/18 versions
were in C:\Program Files\ChucK\chugins\ ( and the only versions in there,
get the old ones out)

The following are not automatically installed with
Binaural, Faust, Ladspa, NHHall, Random, Wavetable

Below are the steps I took to get Binaural, Wavetable, and Random to
compile and install.  Have not attempted Faust or Ladspa yet

I could not get NHHall working with this method.  NHHall does not come with
a VCXPROJ file so I used the VCXPROJ file from another chugin as a template
and made my own for NHHall.  Using the steps below I was able to
sucessfully build a .CHUG file for NHHall, but when trying to load the
chugins in miniAudicle I get an error:
[chuck]:(3:SEVERE):  |  |  | error loading chugin 'NHHall.chug', skipping
[chuck]:(3:SEVERE):  |  |  | error from chuck_dl: 'no version function
found in dll 'C:\Program Files\ChucK\chugins/NHHall.chug''
Not sure if this is a problem with the NHHall files or user error on my
Anyone have NHHall working on windows 10?



After many days on stack overflow, trying to set up my laptop to use the VS
2010 build tools in the year 2018, I gave up and just tried stuff until I
came up with this brute force method of installing the rest of the chugins

Step 1:
git clone https://github.com/ccrma/chugins.git
the git repo will be placed in C:\Users\<name>\chugins
Open the makefile in C:\Users\<name>\chugins, the first lines are a list of
chugins in the order they will be built/installed in.  Put the chugin you
want to install at the beginning, e.g. CHUGINS= Wavetable etc. ( This is
just so that you don't have to go through the steps below for each of the
chugins that are already installed).

Step 2a:
You might get the following error when running $ make win32:
msbuild.exe /p:Configuration=Release
process_begin: CreateProcess(NULL, msbuild.exe /p:Configuration=Release,
...) failed.
make (e=2): The system cannot find the file specified.

You need to find the directory containing msbuild.exe and add it the
MINGW64 path, this worked for me:

$ export PATH=$PATH:"C:\Windows\Microsoft.NET\Framework64\v4.0.30319"

Step 2b:
Open the VCXPROJ file in C:\Users\<name>\chugins\Wavetable, note that the
first line indicates ToolsVersion="15.0"
make sure you have the 15.0 buils tools for VS installed and that MINGW64
can access the folder:

$ export PATH=$PATH:"C:\Program Files (x86)\Microsoft Visual

Step 3:
$ cd chugins
$ make win32

Although I had all the build tools, compilers, and SDKs for the v100
platform toolset,  chugins would not compile and I couldn't get past the
following error:

error MSB8020: The build tools for Visual Studio 2010 (Platform Toolset =
'v100') cannot be found.

I noticed on the github history that there was a fix on 01/17/18 that
changed the VCXPROJ file for each chugin from
<PlatformToolset>v141</PlatformToolset> to
So as an experiment I changed this back to
<PlatformToolset>v141</PlatformToolset> in the VCXPROJ file for the chugin
(there are a few different lines of this in the file)
NB: v141 did not work for each of them, for example Binaural needed v140 to

Step 4:
run make win32 again.  Should get a 'build succeeded" in the log

Step 5:
make install. get the following error:
$ make install
CHUCK_STRICT=1 make -C Wavetabler/ install
make[1]: Entering directory 'C:/Users/Ben/chugins/Wavetable'
gcc -O3 -Werror -c -o Wavetable.o Wavetable.cpp
process_begin: CreateProcess(NULL, gcc -O3 -Werror -c -o Wavetable.o
Wavetable.cpp, ...) failed.
make (e=2): The system cannot find the file specified.

Step 6:
move the contents of C:/Users/<name>/Wavetable/Release to
C:/Users/<name>/Wavetable/ and change the file name of Wavetable.obj to

Step 7:
run make install again. then move the Wavetable .CHUG file from
C:/Users/<name>/chugins/Wavetable to C:\Program Files\ChucK\chugins
Double check that C:\Program Files\ChucK\chugins is a directory for chugins
in miniAudicle and re-start miniAudicle.  The chugin should be working now,
at least avoiding the 'undefined type' error in miniAudicle.


On Wed, May 23, 2018 at 8:49 PM, Spencer Salazar <spencer.salazar at gmail.com>

> The main difference between the two is that when I was looking to use
> MidiRW, it didnt/doesn't actually work and is just a shell around an
> unimplemented interface, so MidiFileIn was added, which mostly just maps to
> STK's implementation.
> Spencer
> On Wed, May 23, 2018 at 9:54 AM, Juan Reyes <juanigrp at gmail.com> wrote:
>> Hi Michael, Mario,
>> Thanks a lot for the links. Need to try these classes, they look cleaner.
>> MidiFileIn inherits from STK also (sorry Gary but thanks!).
>> Not so sure about MidiRW either. Looks like it has methods to open,
>> close, read and write MIDI files. Seems to me that it is also used in
>> conjunction with MidiMsg. I guess its usage might be like opening and
>> manipulating audio files.
>>   Cheers,
>>   -- Juan
>>> LiCK contains NoteOn/NoteOff/ControlChangeMidiMsg classes that
>>> extend MidiMsg and hide some of the details.
>>> https://github.com/heuermh/lick/tree/master/lick/midi
>>> Here's an example of how they might be used
>>> https://github.com/heuermh/lick/blob/master/lick/midi/Animoo
>>> gMidi.ck#L104
>>> _______________________________________________
>> chuck-users mailing list
>> chuck-users at lists.cs.princeton.edu
>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
> --
> Spencer Salazar, PhD
> Special Faculty
> Music Technology: Interaction, Intelligence, and Design
> California Institute of the Arts
> ssalazar at calarts.edu | +1 831.277.4654
> https://spencersalazar.com
> _______________________________________________
> chuck-users mailing list
> chuck-users at lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cs.princeton.edu/pipermail/chuck-users/attachments/20180527/bfb2a3a4/attachment.html>

More information about the chuck-users mailing list