Csound Csound-dev Csound-tekno Search About

[Csnd-dev] augment_csdl branch

Date2021-10-14 15:31
FromVictor Lazzarini
Subject[Csnd-dev] augment_csdl branch
Just seen this branch, I’m just wondering what’s it about. I see that the “add_token()” symbtab.c function is being exposed, I’m just wondering about it. That function seems to be fairly an internal affair, I don’t know if it should be made public in its current form.
Do we need to have this branch in the repository? Could it be done in a fork?

I also wanted to note that the agreed plan is to release 6.17 and immediately make cs7 become develop. So the current develop is a bit of a dead end for any future developments.
========================
Prof. Victor Lazzarini
Maynooth University
Ireland


Date2021-10-14 15:55
From"Dr. Richard Boulanger"
SubjectRe: [Csnd-dev] augment_csdl branch
Thanks as always to the amazing work of the developers.
- super grateful to all the advances you continue to bring to our creative projects!

Will you be adding the compile opcodes to 6.17?  I hope so.

also...

One last try here....

Michael's latest VST3 stuff does work - on Linux and Mac and is well documented with some (pretty) inspiring examples from rcb, jpff, and Michael
(our new windows-savy developers might be able to get this to fly there too - it should)

As the developers move to the new parser and the new possibilities of cs7 and enhanced Web Csound, it would certainly be a great way to 'end' the cs6 line with the addition of these important, rich, and new expansive and inclusive capabilities - (Compile Opcode and VST3 support)

(I know that victor and other incredibly dedicated (and stretched) developers have been exhausted by VST issues in the past; but this new vst3 stuff is pretty remarkable)
- victor, you should give it a try on your Mac or on your Linux machines (Iain should check it out too!)


- Dr.B


Dr. Richard Boulanger

Professor

Electronic Production and Design

Berklee College of Music

Professional Writing & Technology Division



On Thu, Oct 14, 2021 at 10:32 AM Victor Lazzarini <Victor.Lazzarini@mu.ie> wrote:
Just seen this branch, I’m just wondering what’s it about. I see that the “add_token()” symbtab.c function is being exposed, I’m just wondering about it. That function seems to be fairly an internal affair, I don’t know if it should be made public in its current form.
Do we need to have this branch in the repository? Could it be done in a fork?

I also wanted to note that the agreed plan is to release 6.17 and immediately make cs7 become develop. So the current develop is a bit of a dead end for any future developments.
========================
Prof. Victor Lazzarini
Maynooth University
Ireland


Date2021-10-14 16:05
FromMichael Gogins
SubjectRe: [Csnd-dev] augment_csdl branch
The work that you have done to enable your version of the JIT compiler for Csound means this branch is no longer necessary, I will delete it.

Regards,
Mike

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


On Thu, Oct 14, 2021 at 10:31 AM Victor Lazzarini <Victor.Lazzarini@mu.ie> wrote:
Just seen this branch, I’m just wondering what’s it about. I see that the “add_token()” symbtab.c function is being exposed, I’m just wondering about it. That function seems to be fairly an internal affair, I don’t know if it should be made public in its current form.
Do we need to have this branch in the repository? Could it be done in a fork?

I also wanted to note that the agreed plan is to release 6.17 and immediately make cs7 become develop. So the current develop is a bit of a dead end for any future developments.
========================
Prof. Victor Lazzarini
Maynooth University
Ireland


Date2021-10-14 16:14
FromVictor Lazzarini
SubjectRe: [Csnd-dev] [EXTERNAL] [Csnd-dev] augment_csdl branch
Thanks. Also this part of the code has changed quite a bit in cs7 as it pertains the parser. I have not tried it there, but it’s likely that the issue we had does not arise there anymore.
========================
Prof. Victor Lazzarini
Maynooth University
Ireland

> On 14 Oct 2021, at 16:05, Michael Gogins  wrote:
> 
> WARNINGThis email originated from outside of Maynooth University's Mail System. Do not reply, click links or open attachments unless you recognise the sender and know the content is safe.
> The work that you have done to enable your version of the JIT compiler for Csound means this branch is no longer necessary, I will delete it.
> 
> Regards,
> Mike
> 
> -----------------------------------------------------
> Michael Gogins
> Irreducible Productions
> http://michaelgogins.tumblr.com
> Michael dot Gogins at gmail dot com
> 
> 
> On Thu, Oct 14, 2021 at 10:31 AM Victor Lazzarini  wrote:
> Just seen this branch, I’m just wondering what’s it about. I see that the “add_token()” symbtab.c function is being exposed, I’m just wondering about it. That function seems to be fairly an internal affair, I don’t know if it should be made public in its current form.
> Do we need to have this branch in the repository? Could it be done in a fork?
> 
> I also wanted to note that the agreed plan is to release 6.17 and immediately make cs7 become develop. So the current develop is a bit of a dead end for any future developments.
> ========================
> Prof. Victor Lazzarini
> Maynooth University
> Ireland
> 


Date2021-10-20 09:40
FromVictor Lazzarini
SubjectRe: [Csnd-dev] [EXTERNAL] [Csnd-dev] augment_csdl branch
Sorry only replying to this now, it went to my junk box (some cs-dev messages are going there not sure why).

Anyway, here’s my response

- the clang opcodes are third-party projects and so are not going to be added to the Csound project. Anyone
interested should follow Mike’s project or mine. These are quite low level anyway and at the moment require
compilation toolchains to be installed.

- likewise, the vst3 opcode lib is a third-party developer project maintained by Mike. There is no reason to bring
it into the Csound project. Besides, I continue to reiterate, there is noone maintaining the plugins repo. Without
further development help we cannot bring any additions to the system (which cannot be maintained by us).

There are three people dedicating sufficient time and attention to keep Csound maintained, bug-free, 
and we can only look after the main system, which is complex enough to keep us occupied. Diverting 
attention means for instance that we will never be able to release Csound 7.

========================
Prof. Victor Lazzarini
Maynooth University
Ireland

> On 14 Oct 2021, at 15:55, Dr. Richard Boulanger  wrote:
> 
> WARNINGThis email originated from outside of Maynooth University's Mail System. Do not reply, click links or open attachments unless you recognise the sender and know the content is safe.
> Thanks as always to the amazing work of the developers.
> - super grateful to all the advances you continue to bring to our creative projects!
> 
> Will you be adding the compile opcodes to 6.17?  I hope so.
> 
> also...
> 
> One last try here....
> 
> Michael's latest VST3 stuff does work - on Linux and Mac and is well documented with some (pretty) inspiring examples from rcb, jpff, and Michael
> (our new windows-savy developers might be able to get this to fly there too - it should)
> 
> As the developers move to the new parser and the new possibilities of cs7 and enhanced Web Csound, it would certainly be a great way to 'end' the cs6 line with the addition of these important, rich, and new expansive and inclusive capabilities - (Compile Opcode and VST3 support)
> 
> (I know that victor and other incredibly dedicated (and stretched) developers have been exhausted by VST issues in the past; but this new vst3 stuff is pretty remarkable)
> - victor, you should give it a try on your Mac or on your Linux machines (Iain should check it out too!)
> 
> 
> - Dr.B
> 
> Dr. Richard Boulanger
> Professor
> Electronic Production and Design
> Berklee College of Music
> Professional Writing & Technology Division
> 
> 
> On Thu, Oct 14, 2021 at 10:32 AM Victor Lazzarini  wrote:
> Just seen this branch, I’m just wondering what’s it about. I see that the “add_token()” symbtab.c function is being exposed, I’m just wondering about it. That function seems to be fairly an internal affair, I don’t know if it should be made public in its current form.
> Do we need to have this branch in the repository? Could it be done in a fork?
> 
> I also wanted to note that the agreed plan is to release 6.17 and immediately make cs7 become develop. So the current develop is a bit of a dead end for any future developments.
> ========================
> Prof. Victor Lazzarini
> Maynooth University
> Ireland
> 


Date2021-10-20 17:39
FromMichael Gogins
SubjectRe: [Csnd-dev] [EXTERNAL] [Csnd-dev] augment_csdl branch
I see a way out of this mess that might conceivably be acceptable to the developers, the teachers, and the users of Csound.

First, the problems are not specific to Csound. The same issues exist for all cross-platform systems that accept plugins. Such systems include the VST protocol, Node.js, Pure Data, Max/MSP, and others. These systems offer, or have offered, several solutions:

(1) No solution -- which is essentially what Victor is advocating, for lack of a better alternative.

(2) A separate source code repository that maintains external plugins and packages for them. This was the pattern for Pure Data for some time (PD-Extended). We have a separate repository for just plugins, but it's only supposed to contain plugins moved out of the core repository. According to Victor, Csound doesn't have enough manpower to maintain new plugins in this repository.

(3) An online catalog of plugins that just points users to where they can be obtained in source or binary form.

(4) A package management ecosystem. This is the pattern for Node.js (the package management system is npm) and now for Pure Data (the package management system is built in).

Csound actually has a package management system, namely Risset (https://github.com/csound-plugins/risset). However, a couple of things have prevented Risset from taking off.

The main problem with Risset is that it manages only binaries, but although Csound should support Mac OS, Windows, and Linux, most plugin developers only build for one or two of these operating systems.

A similar problem faced Node.js, and the solution was to create a special build system that is part of npm, the Node package manager.

Doing the same thing for Csound -- creating a Csound-specific build system -- would, in my opinion, be a serious mistake. However, we definitely need something LIKE this.

What I suggest is that we create templates for Csound plugin projects that will, in fact, build for Mac OS, Windows, and Linux. This can be done with template CMakeLists.txt files along with template GitHub actions that will build the plugin for each operating system and also package and upload the binaries as releases. 

I have done something like this in https://github.com/gogins/csound-vst3-opcodes, you can see the results here: https://github.com/gogins/csound-vst3-opcodes/releases.

It should then be a requirement of Risset that plugins hosted by it be built in this way, and the binaries can be obtained directly from the GitHub actions artifacts.

Of course, the devil is in the details. And the details are the external dependencies required to build different plugins. But there should be some way of extending the GitHub actions to account for this.

Anyway, that's just my 2 cents.

Best,
Mike









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


On Wed, Oct 20, 2021 at 4:40 AM Victor Lazzarini <Victor.Lazzarini@mu.ie> wrote:
Sorry only replying to this now, it went to my junk box (some cs-dev messages are going there not sure why).

Anyway, here’s my response

- the clang opcodes are third-party projects and so are not going to be added to the Csound project. Anyone
interested should follow Mike’s project or mine. These are quite low level anyway and at the moment require
compilation toolchains to be installed.

- likewise, the vst3 opcode lib is a third-party developer project maintained by Mike. There is no reason to bring
it into the Csound project. Besides, I continue to reiterate, there is noone maintaining the plugins repo. Without
further development help we cannot bring any additions to the system (which cannot be maintained by us).

There are three people dedicating sufficient time and attention to keep Csound maintained, bug-free,
and we can only look after the main system, which is complex enough to keep us occupied. Diverting
attention means for instance that we will never be able to release Csound 7.

========================
Prof. Victor Lazzarini
Maynooth University
Ireland

> On 14 Oct 2021, at 15:55, Dr. Richard Boulanger <rboulanger@berklee.edu> wrote:
>
> WARNINGThis email originated from outside of Maynooth University's Mail System. Do not reply, click links or open attachments unless you recognise the sender and know the content is safe.
> Thanks as always to the amazing work of the developers.
> - super grateful to all the advances you continue to bring to our creative projects!
>
> Will you be adding the compile opcodes to 6.17?  I hope so.
>
> also...
>
> One last try here....
>
> Michael's latest VST3 stuff does work - on Linux and Mac and is well documented with some (pretty) inspiring examples from rcb, jpff, and Michael
> (our new windows-savy developers might be able to get this to fly there too - it should)
>
> As the developers move to the new parser and the new possibilities of cs7 and enhanced Web Csound, it would certainly be a great way to 'end' the cs6 line with the addition of these important, rich, and new expansive and inclusive capabilities - (Compile Opcode and VST3 support)
>
> (I know that victor and other incredibly dedicated (and stretched) developers have been exhausted by VST issues in the past; but this new vst3 stuff is pretty remarkable)
> - victor, you should give it a try on your Mac or on your Linux machines (Iain should check it out too!)
>
>
> - Dr.B
>
> Dr. Richard Boulanger
> Professor
> Electronic Production and Design
> Berklee College of Music
> Professional Writing & Technology Division
>
>
> On Thu, Oct 14, 2021 at 10:32 AM Victor Lazzarini <Victor.Lazzarini@mu.ie> wrote:
> Just seen this branch, I’m just wondering what’s it about. I see that the “add_token()” symbtab.c function is being exposed, I’m just wondering about it. That function seems to be fairly an internal affair, I don’t know if it should be made public in its current form.
> Do we need to have this branch in the repository? Could it be done in a fork?
>
> I also wanted to note that the agreed plan is to release 6.17 and immediately make cs7 become develop. So the current develop is a bit of a dead end for any future developments.
> ========================
> Prof. Victor Lazzarini
> Maynooth University
> Ireland
>


Date2021-11-20 13:53
FromRichard Dobson
Subject[Csnd-dev] mingw help needed!
Hello, sorry to post what is probably an off-topic email (though if I 
get to build Csound this way...):

I have Win10 64bit under Parallels, and have installed the Mingw-64 
tools, which I understood to enable 32bit builds as well as 64bit ones. 
64bit is fine - portaudio builds and runs. But there is no 32bit option 
available - the documented compiler flags such as -m32 or --32 don't 
work. It seems the 32bit toolset is not actually installed. I do have an 
'MSYS2 Mingw 32-bit" choice, but the build fails with obscure type 
errors ("byte") in low-level windows headers. Widely discussed on 
StackOverflow etc: the advice seems to be, like the "Educating Rita" 
solution "do it on the radio" - use mingw-64.

So - how? What am I missing? Is there a magic "pacman" target to invoke? 
Or should I admit defeat and install a 32bit Windows 10?

Richard Dobson

Date2021-11-20 15:03
FromRory Walsh
SubjectRe: [Csnd-dev] mingw help needed!
So you have to use mingw. Seems that visual studio might be easier? 

On Sat 20 Nov 2021, 1:53 p.m. Richard Dobson, <richard@rwdobson.com> wrote:
Hello, sorry to post what is probably an off-topic email (though if I
get to build Csound this way...):

I have Win10 64bit under Parallels, and have installed the Mingw-64
tools, which I understood to enable 32bit builds as well as 64bit ones.
64bit is fine - portaudio builds and runs. But there is no 32bit option
available - the documented compiler flags such as -m32 or --32 don't
work. It seems the 32bit toolset is not actually installed. I do have an
'MSYS2 Mingw 32-bit" choice, but the build fails with obscure type
errors ("byte") in low-level windows headers. Widely discussed on
StackOverflow etc: the advice seems to be, like the "Educating Rita"
solution "do it on the radio" - use mingw-64.

So - how? What am I missing? Is there a magic "pacman" target to invoke?
Or should I admit defeat and install a 32bit Windows 10?

Richard Dobson

Date2021-11-20 15:33
FromVictor Lazzarini
SubjectRe: [Csnd-dev] [EXTERNAL] Re: [Csnd-dev] mingw help needed!
yes, I think VS can build either, at least last time I looked.

Also I'd say the majority if not all of the people building on Windows would use VS, so you'd have more chance of finding help here.

Prof. Victor Lazzarini
Maynooth University
Ireland

On 20 Nov 2021, at 15:03, Rory Walsh <rorywalsh@ear.ie> wrote:



*Warning*

This email originated from outside of Maynooth University's Mail System. Do not reply, click links or open attachments unless you recognise the sender and know the content is safe.

So you have to use mingw. Seems that visual studio might be easier? 

On Sat 20 Nov 2021, 1:53 p.m. Richard Dobson, <richard@rwdobson.com> wrote:
Hello, sorry to post what is probably an off-topic email (though if I
get to build Csound this way...):

I have Win10 64bit under Parallels, and have installed the Mingw-64
tools, which I understood to enable 32bit builds as well as 64bit ones.
64bit is fine - portaudio builds and runs. But there is no 32bit option
available - the documented compiler flags such as -m32 or --32 don't
work. It seems the 32bit toolset is not actually installed. I do have an
'MSYS2 Mingw 32-bit" choice, but the build fails with obscure type
errors ("byte") in low-level windows headers. Widely discussed on
StackOverflow etc: the advice seems to be, like the "Educating Rita"
solution "do it on the radio" - use mingw-64.

So - how? What am I missing? Is there a magic "pacman" target to invoke?
Or should I admit defeat and install a 32bit Windows 10?

Richard Dobson

Date2021-11-20 15:44
FromRichard Dobson
SubjectRe: [Csnd-dev] mingw help needed!
This is primarily for building CDP, with one "all-platform" 
unix-oriented codeset based on gcc etc, getting on for 200 command line 
programs. Works a treat using CMake (thanks to John ffitch for setting 
that all up), on both Mac and Linux, and, so far, on PC using the older 
mingw. Hitherto, building for VSC has thrown up too many differences, 
special glags etc. But if I can't get mingw-64 to play ball, I suppose 
VS is the fallback. I would then have to be dependent on Parallels 
(~really~ trying to avoid having to buy a new Windows box!), as my old 
Win7 laptop is way too old to install the more recent versions of VS. I 
have VS15, later ones need Windows 8 minimum.

Richard Dobson

On 20/11/2021 15:03, Rory Walsh wrote:
> So you have to use mingw. Seems that visual studio might be easier?
> 
> On Sat 20 Nov 2021, 1:53 p.m. Richard Dobson,  > wrote:
> 
>     Hello, sorry to post what is probably an off-topic email (though if I
>     get to build Csound this way...):
> 
>     I have Win10 64bit under Parallels, and have installed the Mingw-64
>     tools, which I understood to enable 32bit builds as well as 64bit ones.
>     64bit is fine - portaudio builds and runs. But there is no 32bit option
>     available - the documented compiler flags such as -m32 or --32 don't
>     work. It seems the 32bit toolset is not actually installed. I do
>     have an
>     'MSYS2 Mingw 32-bit" choice, but the build fails with obscure type
>     errors ("byte") in low-level windows headers. Widely discussed on
>     StackOverflow etc: the advice seems to be, like the "Educating Rita"
>     solution "do it on the radio" - use mingw-64.
> 
>     So - how? What am I missing? Is there a magic "pacman" target to
>     invoke?
>     Or should I admit defeat and install a 32bit Windows 10?
> 
>     Richard Dobson
> 

Date2021-11-20 19:10
FromRichard Dobson
SubjectRe: [Csnd-dev] mingw help needed!
Well I've finally got there, I now seem to have "everything" including 
Fortran and Ada. It's so often the way, I have to formally and 
explicitly put out the call for help, in order eventually to discover 
the answer myself. Pretty much a law of nature!

Richard Dobson


On 20/11/2021 15:44, Richard Dobson wrote:
> This is primarily for building CDP, with one "all-platform" 
> unix-oriented codeset based on gcc etc, getting on for 200 command line 
> programs. Works a treat using CMake (thanks to John ffitch for setting 
> that all up), on both Mac and Linux, and, so far, on PC using the older 
> mingw. Hitherto, building for VSC has thrown up too many differences, 
> special glags etc. But if I can't get mingw-64 to play ball, I suppose 
> VS is the fallback. I would then have to be dependent on Parallels 
> (~really~ trying to avoid having to buy a new Windows box!), as my old 
> Win7 laptop is way too old to install the more recent versions of VS. I 
> have VS15, later ones need Windows 8 minimum.
> 
> Richard Dobson
>