Hey Ben,
Wow, nice work getting all of the other chugins to compile. NHHall is a
brand new reverb designed/implemented by Nathan Ho, I don't think he
normally uses Windows so its missing Visual Studio build files. It has been
tested on Linux and Mac.
"no version function" sounds like ChucK has found the chugin file but
somehow it didnt compile correctly. There are a lot of reasons why this
could happen; Id be happy to take a look at your vcxproj file to see if
there are any obvious issues.
Spencer
On Sun, May 27, 2018 at 12:06 PM, Ben Sandvik
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 1.3.5.2, 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 1.4.0.0: 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 part. Anyone have NHHall working on windows 10?
Thanks Ben
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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 Studio\2017\Community\MSBuild\15.0\Bin"
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 <PlatformToolset>v100</PlatformToolset>. 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 compile
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 Wavetable.o
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.
https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=icon Virus-free. www.avast.com https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=link <#m_6872792077849536797_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
On Wed, May 23, 2018 at 8:49 PM, Spencer Salazar < spencer.salazar@gmail.com> wrote:
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
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@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@calarts.edu | +1 831.277.4654 https://spencersalazar.com
_______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
_______________________________________________ chuck-users mailing list chuck-users@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@calarts.edu | +1 831.277.4654 https://spencersalazar.com