[chuck-users] ChucK FLOSS - MIDI reference

Ben Sandvik bpsandvik at gmail.com
Sat Jun 2 17:27:13 EDT 2018


Spencer,
For my attempt at making a vcxproj file for NHHall I basically just took
the Wavetable vcxproj, replaced every 'Wavetable' with 'NHHall', made sure
the PlatformToolset was v141 in each case and included the following near
the end of the file:

<ItemGroup>

       <ClCompile Include="NH_Hall.hpp" />

</ItemGroup>

<ItemGroup>

      <ClInclude Include="NHHall.cpp" />

</ItemGroup>


This seemed to build correctly and created a .chug file, and I did not get
an error until miniAudicle tried to load the chugin.
I should note that I'm pretty much in over my head here, I'm just hacking
around and trying stuff. other windows users might have better input here
I will wait until there is more support for the windows chugins
before trying again, for now I'm happy to be on chuck 1.4 and getting back
to my projects :)

On Sun, May 27, 2018 at 9:38 PM, Spencer Salazar <spencer.salazar at gmail.com>
wrote:

> 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 <bpsandvik at gmail.com> wrote:
>
>> 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_7404268726112291468_m_6872792077849536797_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
>>
>> On Wed, May 23, 2018 at 8:49 PM, Spencer Salazar <
>> spencer.salazar at 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 <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
>>>
>>>
>>
>> _______________________________________________
>> 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/20180602/8a41880e/attachment-0001.html>


More information about the chuck-users mailing list