Csound Csound-dev Csound-tekno Search About

[Csnd] vst3-opcodes for Csound

Date2020-07-04 20:37
FromMichael Gogins
Subject[Csnd] vst3-opcodes for Csound
AttachmentsREADME.md  
I have completed an initial release of the vst3-opcodes plugin opcode
for Csound.

The vst3-opcodes plugin enables Csound to host VST3 plugins. VST3 is
the current version of the VST protocol from Steinberg. It offers some
advantages over the earlier VST2 protocol: sample accurate scheduling
of parameter updates, more flexible parameter naming and arrangement,
and real-time control of individual notes.

The VST3 SDK from Steinberg is hosted on GitHub and is GPLv3 for
non-commercial uses, such as Csound and the vst3-opcodes. The
vst3-opcodes project, also hosted on GitHub, is also GPLv3. That means
the vst3-opcodes are compatible with Csound's LGPLv2.1 license, thanks
to that clause permitting re-licensing Csound code to "any later
version" of the GPL. Therefore, the vst3-opcodes are fully and legally
licensed according to both the Steinberg license and the Csound
license.

I have attached a copy of the documentation for these opcodes to this
email. The major differences with the earlier vst4cs opcodes, which
are still the only way for Csound to host VST2 plugins, are that the
vst3-opcodes do not provide a way to open a plugin's user interface
window, and that the vst3init opcode requires an additional parameter
to specify the name of the plugin within its loadable module (AKA
shared library, DLL, or bundle).

I have only tested these opcodes on Linux. However, I scrupulously
followed the guidelines of the VST3 SDK and used its CMake build
system, which is cross-platform. So, with very little work, it should
be possible to build and use the vst3-opcodes also on Windows and
macOS.

Suggestions and bug reports are welcome.

Regards,
Mike

-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2020-07-05 00:02
FromOscar Pablo Di Liscia
SubjectRe: [Csnd] vst3-opcodes for Csound
All that looks great Michael, I will take a look.}
Many thanks.

El sáb., 4 jul. 2020 a las 16:37, Michael Gogins (<michael.gogins@gmail.com>) escribió:
I have completed an initial release of the vst3-opcodes plugin opcode
for Csound.

The vst3-opcodes plugin enables Csound to host VST3 plugins. VST3 is
the current version of the VST protocol from Steinberg. It offers some
advantages over the earlier VST2 protocol: sample accurate scheduling
of parameter updates, more flexible parameter naming and arrangement,
and real-time control of individual notes.

The VST3 SDK from Steinberg is hosted on GitHub and is GPLv3 for
non-commercial uses, such as Csound and the vst3-opcodes. The
vst3-opcodes project, also hosted on GitHub, is also GPLv3. That means
the vst3-opcodes are compatible with Csound's LGPLv2.1 license, thanks
to that clause permitting re-licensing Csound code to "any later
version" of the GPL. Therefore, the vst3-opcodes are fully and legally
licensed according to both the Steinberg license and the Csound
license.

I have attached a copy of the documentation for these opcodes to this
email. The major differences with the earlier vst4cs opcodes, which
are still the only way for Csound to host VST2 plugins, are that the
vst3-opcodes do not provide a way to open a plugin's user interface
window, and that the vst3init opcode requires an additional parameter
to specify the name of the plugin within its loadable module (AKA
shared library, DLL, or bundle).

I have only tested these opcodes on Linux. However, I scrupulously
followed the guidelines of the VST3 SDK and used its CMake build
system, which is cross-platform. So, with very little work, it should
be possible to build and use the vst3-opcodes also on Windows and
macOS.

Suggestions and bug reports are welcome.

Regards,
Mike

-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here


--
Dr. Oscar Pablo Di Liscia
Profesor Titular
Director Programa de Investigación "Sistemas Temporales y Síntesis Espacial en el Arte Sonoro"
http://stseas.web.unq.edu.ar/
Director Colección Editorial "Música y Ciencia"
Escuela Universitaria de Artes
Universidad Nacional de Quilmes
Argentina
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2020-07-10 18:59
Fromwalker davis
SubjectRe: [Csnd] vst3-opcodes for Csound
Michael,

Super exciting.  I posted here a few months ago about this very issue, so really excited to see what is possible here.  Will check it out soon.

Thank you!

--------------------------------
Walker Davis


On Sat, Jul 4, 2020 at 4:00 PM Oscar Pablo Di Liscia <oscarpablodiliscia@gmail.com> wrote:
All that looks great Michael, I will take a look.}
Many thanks.

El sáb., 4 jul. 2020 a las 16:37, Michael Gogins (<michael.gogins@gmail.com>) escribió:
I have completed an initial release of the vst3-opcodes plugin opcode
for Csound.

The vst3-opcodes plugin enables Csound to host VST3 plugins. VST3 is
the current version of the VST protocol from Steinberg. It offers some
advantages over the earlier VST2 protocol: sample accurate scheduling
of parameter updates, more flexible parameter naming and arrangement,
and real-time control of individual notes.

The VST3 SDK from Steinberg is hosted on GitHub and is GPLv3 for
non-commercial uses, such as Csound and the vst3-opcodes. The
vst3-opcodes project, also hosted on GitHub, is also GPLv3. That means
the vst3-opcodes are compatible with Csound's LGPLv2.1 license, thanks
to that clause permitting re-licensing Csound code to "any later
version" of the GPL. Therefore, the vst3-opcodes are fully and legally
licensed according to both the Steinberg license and the Csound
license.

I have attached a copy of the documentation for these opcodes to this
email. The major differences with the earlier vst4cs opcodes, which
are still the only way for Csound to host VST2 plugins, are that the
vst3-opcodes do not provide a way to open a plugin's user interface
window, and that the vst3init opcode requires an additional parameter
to specify the name of the plugin within its loadable module (AKA
shared library, DLL, or bundle).

I have only tested these opcodes on Linux. However, I scrupulously
followed the guidelines of the VST3 SDK and used its CMake build
system, which is cross-platform. So, with very little work, it should
be possible to build and use the vst3-opcodes also on Windows and
macOS.

Suggestions and bug reports are welcome.

Regards,
Mike

-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here


--
Dr. Oscar Pablo Di Liscia
Profesor Titular
Director Programa de Investigación "Sistemas Temporales y Síntesis Espacial en el Arte Sonoro"
http://stseas.web.unq.edu.ar/
Director Colección Editorial "Música y Ciencia"
Escuela Universitaria de Artes
Universidad Nacional de Quilmes
Argentina
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2020-07-10 19:09
FromMichael Gogins
SubjectRe: [Csnd] vst3-opcodes for Csound
Thanks, keep us posted!

Regards,
Mike

-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com

On Fri, Jul 10, 2020 at 1:59 PM walker davis  wrote:
>
> Michael,
>
> Super exciting.  I posted here a few months ago about this very issue, so really excited to see what is possible here.  Will check it out soon.
>
> Thank you!
>
> --------------------------------
> Walker Davis
>
>
> On Sat, Jul 4, 2020 at 4:00 PM Oscar Pablo Di Liscia  wrote:
>>
>> All that looks great Michael, I will take a look.}
>> Many thanks.
>>
>> El sáb., 4 jul. 2020 a las 16:37, Michael Gogins () escribió:
>>>
>>> I have completed an initial release of the vst3-opcodes plugin opcode
>>> for Csound.
>>>
>>> The vst3-opcodes plugin enables Csound to host VST3 plugins. VST3 is
>>> the current version of the VST protocol from Steinberg. It offers some
>>> advantages over the earlier VST2 protocol: sample accurate scheduling
>>> of parameter updates, more flexible parameter naming and arrangement,
>>> and real-time control of individual notes.
>>>
>>> The VST3 SDK from Steinberg is hosted on GitHub and is GPLv3 for
>>> non-commercial uses, such as Csound and the vst3-opcodes. The
>>> vst3-opcodes project, also hosted on GitHub, is also GPLv3. That means
>>> the vst3-opcodes are compatible with Csound's LGPLv2.1 license, thanks
>>> to that clause permitting re-licensing Csound code to "any later
>>> version" of the GPL. Therefore, the vst3-opcodes are fully and legally
>>> licensed according to both the Steinberg license and the Csound
>>> license.
>>>
>>> I have attached a copy of the documentation for these opcodes to this
>>> email. The major differences with the earlier vst4cs opcodes, which
>>> are still the only way for Csound to host VST2 plugins, are that the
>>> vst3-opcodes do not provide a way to open a plugin's user interface
>>> window, and that the vst3init opcode requires an additional parameter
>>> to specify the name of the plugin within its loadable module (AKA
>>> shared library, DLL, or bundle).
>>>
>>> I have only tested these opcodes on Linux. However, I scrupulously
>>> followed the guidelines of the VST3 SDK and used its CMake build
>>> system, which is cross-platform. So, with very little work, it should
>>> be possible to build and use the vst3-opcodes also on Windows and
>>> macOS.
>>>
>>> Suggestions and bug reports are welcome.
>>>
>>> Regards,
>>> Mike
>>>
>>> -----------------------------------------------------
>>> Michael Gogins
>>> Irreducible Productions
>>> http://michaelgogins.tumblr.com
>>> Michael dot Gogins at gmail dot com
>>>
>>> Csound mailing list
>>> Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> Send bugs reports to
>>>         https://github.com/csound/csound/issues
>>> Discussions of bugs and features can be posted here
>>
>>
>>
>> --
>> Dr. Oscar Pablo Di Liscia
>> Profesor Titular
>> Director Programa de Investigación "Sistemas Temporales y Síntesis Espacial en el Arte Sonoro"
>> http://stseas.web.unq.edu.ar/
>> Director Colección Editorial "Música y Ciencia"
>> Escuela Universitaria de Artes
>> Universidad Nacional de Quilmes
>> Argentina
>> Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
>
> Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2020-07-14 10:05
FromSi Mills
SubjectRe: [Csnd] vst3-opcodes for Csound
Agreed this is a very useful addition. 

I've a couple of questions - does the original vst2cs compile for macOS (as in, is there already a binary for that?). Also, I wanted to draw attention some time back to a project called vstplugin (https://github.com/Spacechild1/vstplugin) by a developer at IEM which currently supports Pd and Supercollider, as I was initially wondering whether this could be ported to Csound (turns out it could be with a bit of funding ;-)). It seems you've already put in the work which is great. Anyway, my point is what is interesting is that it supports both VST2 and VST3, and I'm wondering how this is possible for vstplugin and not this? If there are licensing implications that have been swerved for vstplugin?

Many thanks

On Fri, 10 Jul 2020 at 19:09, Michael Gogins <michael.gogins@gmail.com> wrote:
Thanks, keep us posted!

Regards,
Mike

-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com

On Fri, Jul 10, 2020 at 1:59 PM walker davis <walkerdavismusic@gmail.com> wrote:
>
> Michael,
>
> Super exciting.  I posted here a few months ago about this very issue, so really excited to see what is possible here.  Will check it out soon.
>
> Thank you!
>
> --------------------------------
> Walker Davis
>
>
> On Sat, Jul 4, 2020 at 4:00 PM Oscar Pablo Di Liscia <oscarpablodiliscia@gmail.com> wrote:
>>
>> All that looks great Michael, I will take a look.}
>> Many thanks.
>>
>> El sáb., 4 jul. 2020 a las 16:37, Michael Gogins (<michael.gogins@gmail.com>) escribió:
>>>
>>> I have completed an initial release of the vst3-opcodes plugin opcode
>>> for Csound.
>>>
>>> The vst3-opcodes plugin enables Csound to host VST3 plugins. VST3 is
>>> the current version of the VST protocol from Steinberg. It offers some
>>> advantages over the earlier VST2 protocol: sample accurate scheduling
>>> of parameter updates, more flexible parameter naming and arrangement,
>>> and real-time control of individual notes.
>>>
>>> The VST3 SDK from Steinberg is hosted on GitHub and is GPLv3 for
>>> non-commercial uses, such as Csound and the vst3-opcodes. The
>>> vst3-opcodes project, also hosted on GitHub, is also GPLv3. That means
>>> the vst3-opcodes are compatible with Csound's LGPLv2.1 license, thanks
>>> to that clause permitting re-licensing Csound code to "any later
>>> version" of the GPL. Therefore, the vst3-opcodes are fully and legally
>>> licensed according to both the Steinberg license and the Csound
>>> license.
>>>
>>> I have attached a copy of the documentation for these opcodes to this
>>> email. The major differences with the earlier vst4cs opcodes, which
>>> are still the only way for Csound to host VST2 plugins, are that the
>>> vst3-opcodes do not provide a way to open a plugin's user interface
>>> window, and that the vst3init opcode requires an additional parameter
>>> to specify the name of the plugin within its loadable module (AKA
>>> shared library, DLL, or bundle).
>>>
>>> I have only tested these opcodes on Linux. However, I scrupulously
>>> followed the guidelines of the VST3 SDK and used its CMake build
>>> system, which is cross-platform. So, with very little work, it should
>>> be possible to build and use the vst3-opcodes also on Windows and
>>> macOS.
>>>
>>> Suggestions and bug reports are welcome.
>>>
>>> Regards,
>>> Mike
>>>
>>> -----------------------------------------------------
>>> Michael Gogins
>>> Irreducible Productions
>>> http://michaelgogins.tumblr.com
>>> Michael dot Gogins at gmail dot com
>>>
>>> Csound mailing list
>>> Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> Send bugs reports to
>>>         https://github.com/csound/csound/issues
>>> Discussions of bugs and features can be posted here
>>
>>
>>
>> --
>> Dr. Oscar Pablo Di Liscia
>> Profesor Titular
>> Director Programa de Investigación "Sistemas Temporales y Síntesis Espacial en el Arte Sonoro"
>> http://stseas.web.unq.edu.ar/
>> Director Colección Editorial "Música y Ciencia"
>> Escuela Universitaria de Artes
>> Universidad Nacional de Quilmes
>> Argentina
>> Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
>
> Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2021-11-04 19:30
Fromwalker davis
SubjectRe: [Csnd] vst3-opcodes for Csound

Hey Michael n co,


Wow, getting to this so much later than anticipated(last here June 2020 yikes), my apologies.  Anyways, I am struggling to follow the installation instructions for Mac on README.md.


I have followed these steps(substituting the “linux” str’s with “mac” where possible):


1) cloned repo from:  https://github.com/gogins/csound-vst3-opcodes


Run the following:

2) bash update-submodules.bash -> no apparent issues


3) bash clean-build-macos.bash -> error below, but completes


** BUILD FAILED **



The following build commands failed:

        CompileC /YOUR_DIR/Github/csound-vst3-opcodes/csound-vst3/build/vst3-opcodes/vstsdk.build/Debug/vst3_plugins.build/Objects-normal/x86_64/vst3-opcodes.o /YOUR_DIR/Github/csound-vst3-opcodes/csound-vst3/vst3-opcodes/vst3-opcodes.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler

(1 failure)

mv: rename lib/Debug/libvst3_plugins.so to lib/Debug/libvst3_plugins.dylib: No such file or directory

Completed a clean build of csound-vst3.

Install to: Frameworks/CsoundLib64.framework/Versions/6.0/Resources/Opcodes64/libvst3_plugins.dylib.

This location may differ on your system.


(libvst3_plugins.dylib does not seem to exist anywhere on my machine)



4) bash zip-macos.bash -> produces several ‘7za: command not found’ errors


(thought I try this, was not in your instructions)

5) move/rename ‘/YOUR_DIR/Github/csound-vst3-opcodes/csound-vst3/vst3-opcodes/vst3-opcodes.cpp’ to the new ‘/YOUR_DIR/Github/csound-vst3-opcodes/csound/Opcodes’


6) csound csound-vst3/vst3-opcodes/CollidingComb.csd AND/OR csound csound csound-vst3/vst3-opcodes/vst3-opcodes-test-macos.csd 


error: syntax error, unexpected T_IDENT  (token "vst3init") from file csound-vst3/vst3-opcodes/CollidingComb.csd (1)

 line 39:

>>>gi_vst3_handle_CollidingCombSynth vst3init <<<

Unexpected untyped word gi_vst3_handle_CollidingCombSynth when expecting a variable

Parsing failed due to invalid input!


I have seen similar errors before, confirms that the vst3init was not correctly installed




I feel like something is going wrong at step 3, or I am not following the instructions somehow… I am also unclear on what you mean by the Csound plugin directory, is that the CsoundLib64.framework/Versions/6.0/Resources/Opcodes64 directory installed by the .dmg?  I am assuming that libvst3_plugins.dylib needs to end up in that folder, correct?


Any advice/instructions here would be greatly appreciated.  Again, apologies for taking so long to get back on this, I have some time to test things here on the Mac side for you in the upcoming months if need be, please let me know.  


Cheers, thanks again Michael,


Best,


Walker

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2021-11-04 23:59
FromMichael Gogins
SubjectRe: [Csnd] vst3-opcodes for Csound
I don't have a Mac, I work on Linux. 

However, I originally had a prebuilt binary for macOS going into the repository using GitHub Actions. But this is now failing with compiler errors. I will debug that. Looks like the VST SDK changed on me. Should be fixable. I will let you know what I do.

On Linux, the plugins directory is /usr/local/lib/csound/plugins64-6.0/ for the plugins that come with Csound, and ~/.local/lib/csound/6.0/plugins64/ for other plugins. 

You could look at the script that builds for macOS here (https://github.com/gogins/csound-vst3-opcodes/actions/runs/1382882757/workflow) and compare that with what you're doing.

Let me know if you run into any problems, but I probably need to debug the GitHub build.

Mike

-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com


On Thu, Nov 4, 2021 at 3:30 PM walker davis <walkerdavismusic@gmail.com> wrote:

Hey Michael n co,


Wow, getting to this so much later than anticipated(last here June 2020 yikes), my apologies.  Anyways, I am struggling to follow the installation instructions for Mac on README.md.


I have followed these steps(substituting the “linux” str’s with “mac” where possible):


1) cloned repo from:  https://github.com/gogins/csound-vst3-opcodes


Run the following:

2) bash update-submodules.bash -> no apparent issues


3) bash clean-build-macos.bash -> error below, but completes


** BUILD FAILED **



The following build commands failed:

        CompileC /YOUR_DIR/Github/csound-vst3-opcodes/csound-vst3/build/vst3-opcodes/vstsdk.build/Debug/vst3_plugins.build/Objects-normal/x86_64/vst3-opcodes.o /YOUR_DIR/Github/csound-vst3-opcodes/csound-vst3/vst3-opcodes/vst3-opcodes.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler

(1 failure)

mv: rename lib/Debug/libvst3_plugins.so to lib/Debug/libvst3_plugins.dylib: No such file or directory

Completed a clean build of csound-vst3.

Install to: Frameworks/CsoundLib64.framework/Versions/6.0/Resources/Opcodes64/libvst3_plugins.dylib.

This location may differ on your system.


(libvst3_plugins.dylib does not seem to exist anywhere on my machine)



4) bash zip-macos.bash -> produces several ‘7za: command not found’ errors


(thought I try this, was not in your instructions)

5) move/rename ‘/YOUR_DIR/Github/csound-vst3-opcodes/csound-vst3/vst3-opcodes/vst3-opcodes.cpp’ to the new ‘/YOUR_DIR/Github/csound-vst3-opcodes/csound/Opcodes’


6) csound csound-vst3/vst3-opcodes/CollidingComb.csd AND/OR csound csound csound-vst3/vst3-opcodes/vst3-opcodes-test-macos.csd 


error: syntax error, unexpected T_IDENT  (token "vst3init") from file csound-vst3/vst3-opcodes/CollidingComb.csd (1)

 line 39:

>>>gi_vst3_handle_CollidingCombSynth vst3init <<<

Unexpected untyped word gi_vst3_handle_CollidingCombSynth when expecting a variable

Parsing failed due to invalid input!


I have seen similar errors before, confirms that the vst3init was not correctly installed




I feel like something is going wrong at step 3, or I am not following the instructions somehow… I am also unclear on what you mean by the Csound plugin directory, is that the CsoundLib64.framework/Versions/6.0/Resources/Opcodes64 directory installed by the .dmg?  I am assuming that libvst3_plugins.dylib needs to end up in that folder, correct?


Any advice/instructions here would be greatly appreciated.  Again, apologies for taking so long to get back on this, I have some time to test things here on the Mac side for you in the upcoming months if need be, please let me know.  


Cheers, thanks again Michael,


Best,


Walker

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2021-11-05 17:37
Fromwalker davis
SubjectRe: [Csnd] vst3-opcodes for Csound
Michael,

Thanks for the quick response here.  I went through the steps on your github workflow page and it looks like that was what I was trying yesterday.  Still getting the same errors mentioned above.

Although I imagine there isn't too much I can help with here(I am not super fluent in C/C++), please let me know if there is anything I can do to help when you get to debugging the Github build.  

Thanks again,

Walker
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2021-11-05 17:57
FromMichael Gogins
SubjectRe: [Csnd] vst3-opcodes for Csound
You can help me a lot by testing it when I think I have it fixed. If you could also test it on Windows that would be very helpful.

It seems that so far, the only problem I see is the need to explicitly include "fstring.h" from the VST3 SDK. This did not used to be necessary, but now seems to be necessary. I have fixed that and am testing it now.

Regards,
Mike

-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com


On Fri, Nov 5, 2021 at 1:37 PM walker davis <walkerdavismusic@gmail.com> wrote:
Michael,

Thanks for the quick response here.  I went through the steps on your github workflow page and it looks like that was what I was trying yesterday.  Still getting the same errors mentioned above.

Although I imagine there isn't too much I can help with here(I am not super fluent in C/C++), please let me know if there is anything I can do to help when you get to debugging the Github build.  

Thanks again,

Walker
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2021-11-05 18:43
Fromwalker davis
SubjectRe: [Csnd] vst3-opcodes for Csound
Sounds good Mike, happy to test.  I personally do not have access to Windows machine at the moment, however.

Still receiving the same errors as the previous build currently.  Seems like something is failing in clean-build-macos.bash

Walker
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2021-11-05 23:38
Fromwalker davis
SubjectRe: [Csnd] vst3-opcodes for Csound

Hey Mike,


Followed your changes on the Github repo today.  Definitely have made some progress since this morning.


With your latest commit, I was able to build the libvst3_plugins.dylib, however it only ended up in build-tacos/lib/Debug/, not build-tacos/lib/Release/.  


I have been working on running ../csound-vst3-opcodes/csound-vst3/vst3-opcodes/vst3-opcodes-test-macos.csd.


So far:

- replacing “Release” with “Debug” in all of the filepath’s loads the plug-ins (ie”../../build-macos/VST3/Debug/mda-vst3.vst3”) seems to properly load the vst3cs opcodes, woohoo!

- there seems to be an issue with the prints statements, results in “Abort trap: 6”

- once prints statements are removed, the file runs and completes, however there isn’t any audio written to the test.aif (perhaps it is too quiet)


In an attempt to isolate a single vst, I removed all non-Piano/PianoOutput instruments, hoping to see if I could get just a single VST to work.  I am not super familiar with the ‘connect’, ‘outleta’, and ‘inleta’ opcodes, but I believe I was able to properly pass audio to the Master_Output.  Messing with some of the Score_Generator values, I was able to produce a few short square wave sounding noise/notes at the beginning of the written audio file, but I don’t think that was supposed to behave that way.


Other things I noticed/thought:

- line 20: 0dbfs = 20 seems weird to me(although I am not quite sure I fully understand what this constant does)

- perhaps the plug-ins are not cross-platform/behave differently(downloaded the mda plug-ins and they behave nicely in Ableton 10)


As for some of the other .csd files (Odin, Dexed, CollidingComb) I did not spend too much time here, but it looks like there are some local file paths hanging around.


Thanks again for all of your work, has been fun day trying to hook up plug-ins into csound.  Looking forward to further debugging.


Walker



On Fri, Nov 5, 2021 at 11:43 AM walker davis <walkerdavismusic@gmail.com> wrote:
Sounds good Mike, happy to test.  I personally do not have access to Windows machine at the moment, however.

Still receiving the same errors as the previous build currently.  Seems like something is failing in clean-build-macos.bash

Walker
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2021-11-06 13:55
FromMichael Gogins
SubjectRe: [Csnd] vst3-opcodes for Csound
Thanks for the update! Much appreciated. 

I'm working what I think is the final issue in producing binaries on GitHub. My GitHub runner for MacOS picks up the wrong version of the vstgui repository. No idea why but I have some things to try. 

Regards, 
Mike

On Fri, Nov 5, 2021, 19:39 walker davis <walkerdavismusic@gmail.com> wrote:

Hey Mike,


Followed your changes on the Github repo today.  Definitely have made some progress since this morning.


With your latest commit, I was able to build the libvst3_plugins.dylib, however it only ended up in build-tacos/lib/Debug/, not build-tacos/lib/Release/.  


I have been working on running ../csound-vst3-opcodes/csound-vst3/vst3-opcodes/vst3-opcodes-test-macos.csd.


So far:

- replacing “Release” with “Debug” in all of the filepath’s loads the plug-ins (ie”../../build-macos/VST3/Debug/mda-vst3.vst3”) seems to properly load the vst3cs opcodes, woohoo!

- there seems to be an issue with the prints statements, results in “Abort trap: 6”

- once prints statements are removed, the file runs and completes, however there isn’t any audio written to the test.aif (perhaps it is too quiet)


In an attempt to isolate a single vst, I removed all non-Piano/PianoOutput instruments, hoping to see if I could get just a single VST to work.  I am not super familiar with the ‘connect’, ‘outleta’, and ‘inleta’ opcodes, but I believe I was able to properly pass audio to the Master_Output.  Messing with some of the Score_Generator values, I was able to produce a few short square wave sounding noise/notes at the beginning of the written audio file, but I don’t think that was supposed to behave that way.


Other things I noticed/thought:

- line 20: 0dbfs = 20 seems weird to me(although I am not quite sure I fully understand what this constant does)

- perhaps the plug-ins are not cross-platform/behave differently(downloaded the mda plug-ins and they behave nicely in Ableton 10)


As for some of the other .csd files (Odin, Dexed, CollidingComb) I did not spend too much time here, but it looks like there are some local file paths hanging around.


Thanks again for all of your work, has been fun day trying to hook up plug-ins into csound.  Looking forward to further debugging.


Walker



On Fri, Nov 5, 2021 at 11:43 AM walker davis <walkerdavismusic@gmail.com> wrote:
Sounds good Mike, happy to test.  I personally do not have access to Windows machine at the moment, however.

Still receiving the same errors as the previous build currently.  Seems like something is failing in clean-build-macos.bash

Walker
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2021-11-06 18:47
FromMichael Gogins
SubjectRe: [Csnd] vst3-opcodes for Csound
I have gotten the VST3 opcodes for Csound to build on GitHub (again) for all three platforms (Linux, Windows, macOS). The latest beta releases are here:


About 0dbfs, that means "0 decibels (full scale) occurs at amplitude X". Loudest (i.e. full scale) is by convention 0 dB, -6 dB is about half as loud, -12 dB is about 1/4 as loud, and so on. So, if in a soundfile the loudest amplitude in the file is 1, then we have 0dbfs = 1; if the loudest amplitude in the file is 32767, then we have 0dbfs = 32767. I have 0dbfs = 20 because, by trial and error, I found that setting to provide a reasonable loudness without clipping.

Please send logs, stack traces, or whatever for the prints problems and also where in the .csd files this is happening. Enter issues here: https://github.com/gogins/csound-vst3-opcodes/issues.

Regards,
Mike


-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com


On Sat, Nov 6, 2021 at 9:55 AM Michael Gogins <michael.gogins@gmail.com> wrote:
Thanks for the update! Much appreciated. 

I'm working what I think is the final issue in producing binaries on GitHub. My GitHub runner for MacOS picks up the wrong version of the vstgui repository. No idea why but I have some things to try. 

Regards, 
Mike

On Fri, Nov 5, 2021, 19:39 walker davis <walkerdavismusic@gmail.com> wrote:

Hey Mike,


Followed your changes on the Github repo today.  Definitely have made some progress since this morning.


With your latest commit, I was able to build the libvst3_plugins.dylib, however it only ended up in build-tacos/lib/Debug/, not build-tacos/lib/Release/.  


I have been working on running ../csound-vst3-opcodes/csound-vst3/vst3-opcodes/vst3-opcodes-test-macos.csd.


So far:

- replacing “Release” with “Debug” in all of the filepath’s loads the plug-ins (ie”../../build-macos/VST3/Debug/mda-vst3.vst3”) seems to properly load the vst3cs opcodes, woohoo!

- there seems to be an issue with the prints statements, results in “Abort trap: 6”

- once prints statements are removed, the file runs and completes, however there isn’t any audio written to the test.aif (perhaps it is too quiet)


In an attempt to isolate a single vst, I removed all non-Piano/PianoOutput instruments, hoping to see if I could get just a single VST to work.  I am not super familiar with the ‘connect’, ‘outleta’, and ‘inleta’ opcodes, but I believe I was able to properly pass audio to the Master_Output.  Messing with some of the Score_Generator values, I was able to produce a few short square wave sounding noise/notes at the beginning of the written audio file, but I don’t think that was supposed to behave that way.


Other things I noticed/thought:

- line 20: 0dbfs = 20 seems weird to me(although I am not quite sure I fully understand what this constant does)

- perhaps the plug-ins are not cross-platform/behave differently(downloaded the mda plug-ins and they behave nicely in Ableton 10)


As for some of the other .csd files (Odin, Dexed, CollidingComb) I did not spend too much time here, but it looks like there are some local file paths hanging around.


Thanks again for all of your work, has been fun day trying to hook up plug-ins into csound.  Looking forward to further debugging.


Walker



On Fri, Nov 5, 2021 at 11:43 AM walker davis <walkerdavismusic@gmail.com> wrote:
Sounds good Mike, happy to test.  I personally do not have access to Windows machine at the moment, however.

Still receiving the same errors as the previous build currently.  Seems like something is failing in clean-build-macos.bash

Walker
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2021-11-09 15:18
FromRichard Dobson
SubjectRe: [Csnd] vst3-opcodes for Csound
I think this needs clarifying a bit: it's more the other way round. The 
0dbfs opcode was introduced to normalise, so to speak, translation of 
amplitudes to/from soundfiles (and by extension, soundcard hardware) of 
all sample types.  So, whatever value is used for 0dbfs in the Csound 
orchestra will be mapped automatically to the applicable sample range in 
a target soundfile (input or output).  Similarly, overrange sample 
values reported by Csound are relative to the specified 0dbfs level.

The setting of 0dbfs to 1.0 in current orchestras is by convention, 
which users are indeed free to disregard. It is also the nominal maximum 
amplitiude used in streaming floating-point systems such as VST. 
Historically, at least, some opcodes required the floats +-1.0 range (I 
believe "vco" was one such). The value for 0dbfs in an orchestra  does 
not in any way indicate a level of "hotness", it is just the normalised 
way of expressing the necessarily bounded amplitude range, independently 
of any given sample type. Any alternative value set for 0dbfs is thus 
strictly an aesthetic quasi-numerological choice.



Richard Dobson.

On 06/11/2021 18:47, Michael Gogins wrote:
> I have gotten the VST3 opcodes for Csound to build on GitHub (again) for 
> all three platforms (Linux, Windows, macOS). The latest beta releases 
> are here:
> 
> https://github.com/gogins/csound-vst3-opcodes/releases 
> 
> 
> About 0dbfs, that means "0 decibels (full scale) occurs at amplitude X". 
> Loudest (i.e. full scale) is by convention 0 dB, -6 dB is about half as 
> loud, -12 dB is about 1/4 as loud, and so on. So, if in a soundfile the 
> loudest amplitude in the file is 1, then we have 0dbfs = 1; if the 
> loudest amplitude in the file is 32767, then we have 0dbfs = 32767. I 
> have 0dbfs = 20 because, by trial and error, I found that setting to 
> provide a reasonable loudness without clipping.
> 
> Please send logs, stack traces, or whatever for the prints problems and 
> also where in the .csd files this is happening. Enter issues here: 
> https://github.com/gogins/csound-vst3-opcodes/issues 
> .
> 
> Regards,
> Mike
> 
> 
> -----------------------------------------------------
> Michael Gogins
> Irreducible Productions
> http://michaelgogins.tumblr.com 
> Michael dot Gogins at gmail dot com
> 
> 
> On Sat, Nov 6, 2021 at 9:55 AM Michael Gogins  > wrote:
> 
>     Thanks for the update! Much appreciated.
> 
>     I'm working what I think is the final issue in producing binaries on
>     GitHub. My GitHub runner for MacOS picks up the wrong version of the
>     vstgui repository. No idea why but I have some things to try.
> 
>     Regards,
>     Mike
> 
>     On Fri, Nov 5, 2021, 19:39 walker davis      > wrote:
> 
>         Hey Mike,
> 
> 
>         Followed your changes on the Github repo today.  Definitely have
>         made some progress since this morning.
> 
> 
>         With your latest commit, I was able to build the
>         libvst3_plugins.dylib, however it only ended up in
>         build-tacos/lib/Debug/, not build-tacos/lib/Release/.
> 
> 
>         I have been working on running
>         ../csound-vst3-opcodes/csound-vst3/vst3-opcodes/vst3-opcodes-test-macos.csd.
> 
> 
>         So far:
> 
>         - replacing “Release” with “Debug” in all of the filepath’s
>         loads the plug-ins
>         (ie”../../build-macos/VST3/Debug/mda-vst3.vst3”) seems to
>         properly load the vst3cs opcodes, woohoo!
> 
>         - there seems to be an issue with the prints statements, results
>         in “Abort trap: 6”
> 
>         - once prints statements are removed, the file runs and
>         completes, however there isn’t any audio written to the test.aif
>         (perhaps it is too quiet)
> 
> 
>         In an attempt to isolate a single vst, I removed all
>         non-Piano/PianoOutput instruments, hoping to see if I could get
>         just a single VST to work.I am not super familiar with the
>         ‘connect’, ‘outleta’, and ‘inleta’ opcodes, but I believe I was
>         able to properly pass audio to the Master_Output.Messing with
>         some of the Score_Generator values, I was able to produce a few
>         short square wave sounding noise/notes at the beginning of the
>         written audio file, but I don’t think that was supposed to
>         behave that way.
> 
> 
>         Other things I noticed/thought:
> 
>         - line 20: 0dbfs = 20 seems weird to me(although I am not quite
>         sure I fully understand what this constant does)
> 
>         - perhaps the plug-ins are not cross-platform/behave
>         differently(downloaded the mda plug-ins and they behave nicely
>         in Ableton 10)
> 
> 
>         As for some of the other .csd files (Odin, Dexed, CollidingComb)
>         I did not spend too much time here, but it looks like there are
>         some local file paths hanging around.
> 
> 
>         Thanks again for all of your work, has been fun day trying to
>         hook up plug-ins into csound.Looking forward to further debugging.
> 
> 
>         Walker
> 
>         
> 
> 
>         On Fri, Nov 5, 2021 at 11:43 AM walker davis
>         >
>         wrote:
> 
>             Sounds good Mike, happy to test.  I personally do not have
>             access to Windows machine at the moment, however.
> 
>             Still receiving the same errors as the previous build
>             currently.  Seems like something is failing
>             in clean-build-macos.bash
> 
>             Walker
> 
>         Csound mailing list Csound@listserv.heanet.ie
>         
>         https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>          Send bugs
>         reports to https://github.com/csound/csound/issues
>          Discussions of bugs
>         and features can be posted here 
> 
> Csound mailing list Csound@listserv.heanet.ie 
>  
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND 
>  Send bugs reports to 
> https://github.com/csound/csound/issues 
>  Discussions of bugs and 
> features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2021-11-18 22:13
Fromwalker davis
SubjectRe: [Csnd] vst3-opcodes for Csound

Richard, thanks for the explanation on 0dbfs, I think I see why it is modifiable by the user…



Mike, just circling back here.


I have tested a few free synth plug-ins from: https://www.musicradar.com/news/the-best-free-vst-synth-plugins-2020-wavetable-fm-virtual-analogue-and-more to see if I can change change preset mid-score.


So far, I have been unable to Change/LoadPreset for any synths.  I am not super familiar with the .fxp format, and it seems like a good portion of plug-in creators just use their own format…. Also, it looks like the .fxp format can also store ‘banks’ of presets.  Short story long, it seems as though every plug-in creator stores their presets differently.


I tested most of the plug-ins from the site above, here is a status/result from each:

1. DiscoDSP OB-Xd - writes audio in Csound, sounds very good.  No Linux version

2. VCV Rack - stand alone only

3. Vital Audio Vital - did not test, seems like some subscription model

4. Newfangled Audio Pendulate - writes audio in Csound, sounds very good.  No Linux version

5. Vember Audio Surge - writes audio in Ableton, but not Csound, Has Linux Version

6. Matt Tytel Helm - writes audio in Ableton, but not Csound, Has Linux Version

7. Dexed - writes audio in Csound, has Linux version, presets are stored in banks

10. u-he Tyrell N6: VST, not VST3


Although I cannot tell, it does feel like we are getting into the weeds here, especially if different plug-in creators handle the preset store differently….  Thinking back to a project I did a few years, I remember MrsWatson was not able to load/change presets either… 


Thanks again for the help thus far loading VST’s, please let me know if there is any debugging/testing I can do for changing/loading existing presets.  


Walker



Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here