Csound Csound-dev Csound-tekno Search About

[Csnd-dev] Removing boost from CsoundFile.cpp

Date2017-04-25 22:09
FromSteven Yi
Subject[Csnd-dev] Removing boost from CsoundFile.cpp
Hi All,

I've been working with Stephen Kyne on getting the Visual Studio build
to run on Appveyor (a continuous integration system like Travis).
We're getting stuck because downloading and building Boost takes a
long time and thus the build times out.  As far as I can see, we seem
to have a dependency on Boost in just a few places:

1. interfaces/CsoundFile.cpp
2. CsoundAC
3. CsoundVST

I think for now our best bet to get a continuous Windows build with
Appveyor going is to remove the dependency on Boost from
interfaces/CsoundFile.cpp and just not build CsoundAC/CsoundVST.

For CsoundFile.cpp, there's just one use of boost:

 // TODO: Replace boost throughout interfaces.
  #if !defined(__ANDROID__)
  boost::split(args, buffer, boost::is_any_of(" \t\n\r"),
boost::token_compress_on);
  #endif

Could someone (Michael perhaps? I'm guessing this might be code of
yours?) take a look and perhaps find a way to get rid of using Boost
here?

Thanks!

Date2017-04-25 23:35
FromMichael Gogins
SubjectRe: [Csnd-dev] Removing boost from CsoundFile.cpp
I will take care of this. I would also like to remove the boost
dependency from CsoundAC etc, not sure how hard that is. The
dependencies regarding matrix arithmetic would be replaced by Eigen
(eigen3), can Appveyor deal with that?

Best,
Mike

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


On Tue, Apr 25, 2017 at 5:09 PM, Steven Yi  wrote:
> Hi All,
>
> I've been working with Stephen Kyne on getting the Visual Studio build
> to run on Appveyor (a continuous integration system like Travis).
> We're getting stuck because downloading and building Boost takes a
> long time and thus the build times out.  As far as I can see, we seem
> to have a dependency on Boost in just a few places:
>
> 1. interfaces/CsoundFile.cpp
> 2. CsoundAC
> 3. CsoundVST
>
> I think for now our best bet to get a continuous Windows build with
> Appveyor going is to remove the dependency on Boost from
> interfaces/CsoundFile.cpp and just not build CsoundAC/CsoundVST.
>
> For CsoundFile.cpp, there's just one use of boost:
>
>  // TODO: Replace boost throughout interfaces.
>   #if !defined(__ANDROID__)
>   boost::split(args, buffer, boost::is_any_of(" \t\n\r"),
> boost::token_compress_on);
>   #endif
>
> Could someone (Michael perhaps? I'm guessing this might be code of
> yours?) take a look and perhaps find a way to get rid of using Boost
> here?
>
> Thanks!

Date2017-04-26 00:52
FromSteven Yi
SubjectRe: [Csnd-dev] Removing boost from CsoundFile.cpp
Thanks Michael!

I do think eigen3 is fine as a dependency.  It works at least with
vcpkg as far as I can tell.  We'll have to test again once boost is
off the list of dependencies as it sort of just killed the whole build
and I'm not sure we have any data yet on how long it takes to build
without boost.  (Stephen may have a better idea of it all though.)

On Tue, Apr 25, 2017 at 6:35 PM, Michael Gogins
 wrote:
> I will take care of this. I would also like to remove the boost
> dependency from CsoundAC etc, not sure how hard that is. The
> dependencies regarding matrix arithmetic would be replaced by Eigen
> (eigen3), can Appveyor deal with that?
>
> Best,
> Mike
>
> -----------------------------------------------------
> Michael Gogins
> Irreducible Productions
> http://michaelgogins.tumblr.com
> Michael dot Gogins at gmail dot com
>
>
> On Tue, Apr 25, 2017 at 5:09 PM, Steven Yi  wrote:
>> Hi All,
>>
>> I've been working with Stephen Kyne on getting the Visual Studio build
>> to run on Appveyor (a continuous integration system like Travis).
>> We're getting stuck because downloading and building Boost takes a
>> long time and thus the build times out.  As far as I can see, we seem
>> to have a dependency on Boost in just a few places:
>>
>> 1. interfaces/CsoundFile.cpp
>> 2. CsoundAC
>> 3. CsoundVST
>>
>> I think for now our best bet to get a continuous Windows build with
>> Appveyor going is to remove the dependency on Boost from
>> interfaces/CsoundFile.cpp and just not build CsoundAC/CsoundVST.
>>
>> For CsoundFile.cpp, there's just one use of boost:
>>
>>  // TODO: Replace boost throughout interfaces.
>>   #if !defined(__ANDROID__)
>>   boost::split(args, buffer, boost::is_any_of(" \t\n\r"),
>> boost::token_compress_on);
>>   #endif
>>
>> Could someone (Michael perhaps? I'm guessing this might be code of
>> yours?) take a look and perhaps find a way to get rid of using Boost
>> here?
>>
>> Thanks!

Date2017-04-26 17:08
FromMichael Gogins
SubjectRe: [Csnd-dev] Removing boost from CsoundFile.cpp
I've created issues in GitHub for removing the Boost dependency from
the Csound interfaces, from CsoundVST, and from CsoundAC.

I have pushed the fixes for the Csound interfaces and for CsoundVST,
but not tested them, which I will do later today.

It turns out I had already replaced boost::numeric::ublas with eigen3
in CsoundAC. It remains to replace Boost formatting and random
distributions. I am working on that now and expect it to be
straightforward, but the C++ requirement will move to -std=c++11. It
looks like the Boost random distributions more or less went into
C++11.

Best,
Mike

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


On Tue, Apr 25, 2017 at 7:52 PM, Steven Yi  wrote:
> Thanks Michael!
>
> I do think eigen3 is fine as a dependency.  It works at least with
> vcpkg as far as I can tell.  We'll have to test again once boost is
> off the list of dependencies as it sort of just killed the whole build
> and I'm not sure we have any data yet on how long it takes to build
> without boost.  (Stephen may have a better idea of it all though.)
>
> On Tue, Apr 25, 2017 at 6:35 PM, Michael Gogins
>  wrote:
>> I will take care of this. I would also like to remove the boost
>> dependency from CsoundAC etc, not sure how hard that is. The
>> dependencies regarding matrix arithmetic would be replaced by Eigen
>> (eigen3), can Appveyor deal with that?
>>
>> Best,
>> Mike
>>
>> -----------------------------------------------------
>> Michael Gogins
>> Irreducible Productions
>> http://michaelgogins.tumblr.com
>> Michael dot Gogins at gmail dot com
>>
>>
>> On Tue, Apr 25, 2017 at 5:09 PM, Steven Yi  wrote:
>>> Hi All,
>>>
>>> I've been working with Stephen Kyne on getting the Visual Studio build
>>> to run on Appveyor (a continuous integration system like Travis).
>>> We're getting stuck because downloading and building Boost takes a
>>> long time and thus the build times out.  As far as I can see, we seem
>>> to have a dependency on Boost in just a few places:
>>>
>>> 1. interfaces/CsoundFile.cpp
>>> 2. CsoundAC
>>> 3. CsoundVST
>>>
>>> I think for now our best bet to get a continuous Windows build with
>>> Appveyor going is to remove the dependency on Boost from
>>> interfaces/CsoundFile.cpp and just not build CsoundAC/CsoundVST.
>>>
>>> For CsoundFile.cpp, there's just one use of boost:
>>>
>>>  // TODO: Replace boost throughout interfaces.
>>>   #if !defined(__ANDROID__)
>>>   boost::split(args, buffer, boost::is_any_of(" \t\n\r"),
>>> boost::token_compress_on);
>>>   #endif
>>>
>>> Could someone (Michael perhaps? I'm guessing this might be code of
>>> yours?) take a look and perhaps find a way to get rid of using Boost
>>> here?
>>>
>>> Thanks!

Date2017-04-26 17:12
FromVictor Lazzarini
SubjectRe: [Csnd-dev] Removing boost from CsoundFile.cpp
I think it makes sense to move to c++11 for the whole codebase, after all it’s 2017. The only issue might be VST, 
which appears to have problems with it (I noticed when trying to compile the VST host opcodes).
========================
Prof. Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952 

> On 26 Apr 2017, at 17:08, Michael Gogins  wrote:
> 
> I've created issues in GitHub for removing the Boost dependency from
> the Csound interfaces, from CsoundVST, and from CsoundAC.
> 
> I have pushed the fixes for the Csound interfaces and for CsoundVST,
> but not tested them, which I will do later today.
> 
> It turns out I had already replaced boost::numeric::ublas with eigen3
> in CsoundAC. It remains to replace Boost formatting and random
> distributions. I am working on that now and expect it to be
> straightforward, but the C++ requirement will move to -std=c++11. It
> looks like the Boost random distributions more or less went into
> C++11.
> 
> Best,
> Mike
> 
> -----------------------------------------------------
> Michael Gogins
> Irreducible Productions
> http://michaelgogins.tumblr.com
> Michael dot Gogins at gmail dot com
> 
> 
> On Tue, Apr 25, 2017 at 7:52 PM, Steven Yi  wrote:
>> Thanks Michael!
>> 
>> I do think eigen3 is fine as a dependency.  It works at least with
>> vcpkg as far as I can tell.  We'll have to test again once boost is
>> off the list of dependencies as it sort of just killed the whole build
>> and I'm not sure we have any data yet on how long it takes to build
>> without boost.  (Stephen may have a better idea of it all though.)
>> 
>> On Tue, Apr 25, 2017 at 6:35 PM, Michael Gogins
>>  wrote:
>>> I will take care of this. I would also like to remove the boost
>>> dependency from CsoundAC etc, not sure how hard that is. The
>>> dependencies regarding matrix arithmetic would be replaced by Eigen
>>> (eigen3), can Appveyor deal with that?
>>> 
>>> Best,
>>> Mike
>>> 
>>> -----------------------------------------------------
>>> Michael Gogins
>>> Irreducible Productions
>>> http://michaelgogins.tumblr.com
>>> Michael dot Gogins at gmail dot com
>>> 
>>> 
>>> On Tue, Apr 25, 2017 at 5:09 PM, Steven Yi  wrote:
>>>> Hi All,
>>>> 
>>>> I've been working with Stephen Kyne on getting the Visual Studio build
>>>> to run on Appveyor (a continuous integration system like Travis).
>>>> We're getting stuck because downloading and building Boost takes a
>>>> long time and thus the build times out.  As far as I can see, we seem
>>>> to have a dependency on Boost in just a few places:
>>>> 
>>>> 1. interfaces/CsoundFile.cpp
>>>> 2. CsoundAC
>>>> 3. CsoundVST
>>>> 
>>>> I think for now our best bet to get a continuous Windows build with
>>>> Appveyor going is to remove the dependency on Boost from
>>>> interfaces/CsoundFile.cpp and just not build CsoundAC/CsoundVST.
>>>> 
>>>> For CsoundFile.cpp, there's just one use of boost:
>>>> 
>>>> // TODO: Replace boost throughout interfaces.
>>>>  #if !defined(__ANDROID__)
>>>>  boost::split(args, buffer, boost::is_any_of(" \t\n\r"),
>>>> boost::token_compress_on);
>>>>  #endif
>>>> 
>>>> Could someone (Michael perhaps? I'm guessing this might be code of
>>>> yours?) take a look and perhaps find a way to get rid of using Boost
>>>> he

Date2017-04-26 17:23
FromRory Walsh
SubjectRe: [Csnd-dev] Removing boost from CsoundFile.cpp
I agree.

On 26 April 2017 at 17:12, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:
I think it makes sense to move to c++11 for the whole codebase, after all it’s 2017. The only issue might be VST,
which appears to have problems with it (I noticed when trying to compile the VST host opcodes).
========================
Prof. Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952

> On 26 Apr 2017, at 17:08, Michael Gogins <michael.gogins@gmail.com> wrote:
>
> I've created issues in GitHub for removing the Boost dependency from
> the Csound interfaces, from CsoundVST, and from CsoundAC.
>
> I have pushed the fixes for the Csound interfaces and for CsoundVST,
> but not tested them, which I will do later today.
>
> It turns out I had already replaced boost::numeric::ublas with eigen3
> in CsoundAC. It remains to replace Boost formatting and random
> distributions. I am working on that now and expect it to be
> straightforward, but the C++ requirement will move to -std=c++11. It
> looks like the Boost random distributions more or less went into
> C++11.
>
> Best,
> Mike
>
> -----------------------------------------------------
> Michael Gogins
> Irreducible Productions
> http://michaelgogins.tumblr.com
> Michael dot Gogins at gmail dot com
>
>
> On Tue, Apr 25, 2017 at 7:52 PM, Steven Yi <stevenyi@gmail.com> wrote:
>> Thanks Michael!
>>
>> I do think eigen3 is fine as a dependency.  It works at least with
>> vcpkg as far as I can tell.  We'll have to test again once boost is
>> off the list of dependencies as it sort of just killed the whole build
>> and I'm not sure we have any data yet on how long it takes to build
>> without boost.  (Stephen may have a better idea of it all though.)
>>
>> On Tue, Apr 25, 2017 at 6:35 PM, Michael Gogins
>> <michael.gogins@gmail.com> wrote:
>>> I will take care of this. I would also like to remove the boost
>>> dependency from CsoundAC etc, not sure how hard that is. The
>>> dependencies regarding matrix arithmetic would be replaced by Eigen
>>> (eigen3), can Appveyor deal with that?
>>>
>>> Best,
>>> Mike
>>>
>>> -----------------------------------------------------
>>> Michael Gogins
>>> Irreducible Productions
>>> http://michaelgogins.tumblr.com
>>> Michael dot Gogins at gmail dot com
>>>
>>>
>>> On Tue, Apr 25, 2017 at 5:09 PM, Steven Yi <stevenyi@gmail.com> wrote:
>>>> Hi All,
>>>>
>>>> I've been working with Stephen Kyne on getting the Visual Studio build
>>>> to run on Appveyor (a continuous integration system like Travis).
>>>> We're getting stuck because downloading and building Boost takes a
>>>> long time and thus the build times out.  As far as I can see, we seem
>>>> to have a dependency on Boost in just a few places:
>>>>
>>>> 1. interfaces/CsoundFile.cpp
>>>> 2. CsoundAC
>>>> 3. CsoundVST
>>>>
>>>> I think for now our best bet to get a continuous Windows build with
>>>> Appveyor going is to remove the dependency on Boost from
>>>> interfaces/CsoundFile.cpp and just not build CsoundAC/CsoundVST.
>>>>
>>>> For CsoundFile.cpp, there's just one use of boost:
>>>>
>>>> // TODO: Replace boost throughout interfaces.
>>>>  #if !defined(__ANDROID__)
>>>>  boost::split(args, buffer, boost::is_any_of(" \t\n\r"),
>>>> boost::token_compress_on);
>>>>  #endif
>>>>
>>>> Could someone (Michael perhaps? I'm guessing this might be code of
>>>> yours?) take a look and perhaps find a way to get rid of using Boost
>>>> here?
>>>>
>>>> Thanks!
>>>> steven



Date2017-04-26 18:11
FromSteven Yi
SubjectRe: [Csnd-dev] Removing boost from CsoundFile.cpp
Thanks Michael for the update!  I think C++11 makes sense. We'll just
have to be sure to test on all of the compilers we use. I think we'll
be fine for Visual Studio (I found this link for VS2015, but not one
yet for VS2017, but C++11 looks well covered even in VS2015:
https://msdn.microsoft.com/en-us/library/hh567368.aspx).  I think the
only other compilers that are used are GCC and Clang and they should
both be fine on all of the platforms.  (Assuming Emscripten/Clang is
fine.)  We'll just have to be sure to explicitly set C++11 for all of
our platforms.

On Wed, Apr 26, 2017 at 12:23 PM, Rory Walsh  wrote:
> I agree.
>
> On 26 April 2017 at 17:12, Victor Lazzarini 
> wrote:
>>
>> I think it makes sense to move to c++11 for the whole codebase, after all
>> it’s 2017. The only issue might be VST,
>> which appears to have problems with it (I noticed when trying to compile
>> the VST host opcodes).
>> ========================
>> Prof. Victor Lazzarini
>> Dean of Arts, Celtic Studies, and Philosophy,
>> Maynooth University,
>> Maynooth, Co Kildare, Ireland
>> Tel: 00 353 7086936
>> Fax: 00 353 1 7086952
>>
>> > On 26 Apr 2017, at 17:08, Michael Gogins 
>> > wrote:
>> >
>> > I've created issues in GitHub for removing the Boost dependency from
>> > the Csound interfaces, from CsoundVST, and from CsoundAC.
>> >
>> > I have pushed the fixes for the Csound interfaces and for CsoundVST,
>> > but not tested them, which I will do later today.
>> >
>> > It turns out I had already replaced boost::numeric::ublas with eigen3
>> > in CsoundAC. It remains to replace Boost formatting and random
>> > distributions. I am working on that now and expect it to be
>> > straightforward, but the C++ requirement will move to -std=c++11. It
>> > looks like the Boost random distributions more or less went into
>> > C++11.
>> >
>> > Best,
>> > Mike
>> >
>> > -----------------------------------------------------
>> > Michael Gogins
>> > Irreducible Productions
>> > http://michaelgogins.tumblr.com
>> > Michael dot Gogins at gmail dot com
>> >
>> >
>> > On Tue, Apr 25, 2017 at 7:52 PM, Steven Yi  wrote:
>> >> Thanks Michael!
>> >>
>> >> I do think eigen3 is fine as a dependency.  It works at least with
>> >> vcpkg as far as I can tell.  We'll have to test again once boost is
>> >> off the list of dependencies as it sort of just killed the whole build
>> >> and I'm not sure we have any data yet on how long it takes to build
>> >> without boost.  (Stephen may have a better idea of it all though.)
>> >>
>> >> On Tue, Apr 25, 2017 at 6:35 PM, Michael Gogins
>> >>  wrote:
>> >>> I will take care of this. I would also like to remove the boost
>> >>> dependency from CsoundAC etc, not sure how hard that is. The
>> >>> dependencies regarding matrix arithmetic would be replaced by Eigen
>> >>> (eigen3), can Appveyor deal with that?
>> >>>
>> >>> Best,
>> >>> Mike
>> >>>
>> >>> -----------------------------------------------------
>> >>> Michael Gogins
>> >>> Irreducible Productions
>> >>> http://michaelgogins.tumblr.com
>> >>> Michael dot Gogins at gmail dot com
>> >>>
>> >>>
>> >>> On Tue, Apr 25, 2017 at 5:09 PM, Steven Yi  wrote:
>> >>>> Hi All,
>> >>>>
>> >>>> I've been working with Stephen Kyne on getting the Visual Studio
>> >>>> build
>> >>>> to run on Appveyor (a continuous integration system like Travis).
>> >>>> We're getting stuck because downloading and building Boost takes a
>> >>>> long time and thus the build times out.  As far as I can see, we seem
>> >>>> to have a dependency on Boost in just a few places:
>> >>>>
>> >>>> 1. interfaces/CsoundFile.cpp
>> >>>> 2. CsoundAC
>> >>>> 3. CsoundVST
>> >>>>
>> >>>> I think for now our best bet to get a continuous Windows build with
>> >>>> Appveyor going is to remove the dependency on Boost from
>> >>>> interfaces/CsoundFile.cpp and just not build CsoundAC/CsoundVST.
>> >>>>
>> >>>> For CsoundFile.cpp, there's just one use of boost:
>> >>>>
>> >>>> // TODO: Replace boost throughout interfaces.
>> >>>>  #if !defined(__ANDROID__)
>> >>>>  boost::split(args, buffer, boost::is_any_of(" \t\n\r"),
>> >>>> boost::token_compress_on);
>> >>>>  #endif
>> >>>>
>> >>>> Could someone (Michael perhaps? I'm guessing this might be code of
>> >>>> yours?) take a look and perhaps find a way to get rid of using Boost
>> >>>> here?
>> >>>>
>> >>>> Thanks!
>> >>>> steven
>>

Date2017-04-26 18:25
FromVictor Lazzarini
SubjectRe: [Csnd-dev] Removing boost from CsoundFile.cpp
Some older GCCs (e.g. the one that comes in Debian Jessie) do not have full c++11 support, but I think most
linuxes now come with the newer gccs (> 6.0 I guess). In raspbian jessie, I had to do get a newer compiler 
package (can’t remember which exactly). It can be a pain sometimes, but I think we should roll out the code for
c++11.

========================
Prof. Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952 

> On 26 Apr 2017, at 18:11, Steven Yi  wrote:
> 
> Thanks Michael for the update!  I think C++11 makes sense. We'll just
> have to be sure to test on all of the compilers we use. I think we'll
> be fine for Visual Studio (I found this link for VS2015, but not one
> yet for VS2017, but C++11 looks well covered even in VS2015:
> https://msdn.microsoft.com/en-us/library/hh567368.aspx).  I think the
> only other compilers that are used are GCC and Clang and they should
> both be fine on all of the platforms.  (Assuming Emscripten/Clang is
> fine.)  We'll just have to be sure to explicitly set C++11 for all of
> our platforms.
> 
> On Wed, Apr 26, 2017 at 12:23 PM, Rory Walsh  wrote:
>> I agree.
>> 
>> On 26 April 2017 at 17:12, Victor Lazzarini 
>> wrote:
>>> 
>>> I think it makes sense to move to c++11 for the whole codebase, after all
>>> it’s 2017. The only issue might be VST,
>>> which appears to have problems with it (I noticed when trying to compile
>>> the VST host opcodes).
>>> ========================
>>> Prof. Victor Lazzarini
>>> Dean of Arts, Celtic Studies, and Philosophy,
>>> Maynooth University,
>>> Maynooth, Co Kildare, Ireland
>>> Tel: 00 353 7086936
>>> Fax: 00 353 1 7086952
>>> 
>>>> On 26 Apr 2017, at 17:08, Michael Gogins 
>>>> wrote:
>>>> 
>>>> I've created issues in GitHub for removing the Boost dependency from
>>>> the Csound interfaces, from CsoundVST, and from CsoundAC.
>>>> 
>>>> I have pushed the fixes for the Csound interfaces and for CsoundVST,
>>>> but not tested them, which I will do later today.
>>>> 
>>>> It turns out I had already replaced boost::numeric::ublas with eigen3
>>>> in CsoundAC. It remains to replace Boost formatting and random
>>>> distributions. I am working on that now and expect it to be
>>>> straightforward, but the C++ requirement will move to -std=c++11. It
>>>> looks like the Boost random distributions more or less went into
>>>> C++11.
>>>> 
>>>> Best,
>>>> Mike
>>>> 
>>>> -----------------------------------------------------
>>>> Michael Gogins
>>>> Irreducible Productions
>>>> http://michaelgogins.tumblr.com
>>>> Michael dot Gogins at gmail dot com
>>>> 
>>>> 
>>>> On Tue, Apr 25, 2017 at 7:52 PM, Steven Yi  wrote:
>>>>> Thanks Michael!
>>>>> 
>>>>> I do think eigen3 is fine as a dependency.  It works at least with
>>>>> vcpkg as far as I can tell.  We'll have to test again once boost is
>>>>> off the list of dependencies as it sort of just killed the whole build
>>>>> and I'm not sure we have any data yet on how long it takes to build
>>>>> without boost.  (Stephen may have a better idea of it all though.)
>>>>> 
>>>>> On Tue, Apr 25, 2017 at 6:35 PM, Michael Gogins
>>>>>  wrote:
>>>>>> I will take care of this. I would also like to remove the boost
>>>>>> dependency from CsoundAC etc, not sure how hard that is. The
>>>>>> dependencies regarding matrix arithmetic would be replaced by Eigen
>>>>>> (eigen3), can Appveyor deal with that?
>>>>>> 
>>>>>> Best,
>>>>>> Mike
>>>>>> 
>>>>>> -----------------------------------------------------
>>>>>> Michael Gogins
>>>>>> Irreducible Productions
>>>>>> http://michaelgogins.tumblr.com
>>>>>> Michael dot Gogins at gmail dot com
>>>>>> 
>>>>>> 
>>>>>> On Tue, Apr 25, 2017 at 5:09 PM, Steven Yi  wrote:
>>>>>>> Hi All,
>>>>>>> 
>>>>>>> I've been working with Stephen Kyne on getting the Visual Studio
>>>>>>> build
>>>>>>> to run on Appveyor (a continuous integration system like Travis).
>>>>>>> We're getting stuck because downloading and building Boost takes a
>>>>>>> long time and thus the build times out.  As far as I can see, we seem
>>>>>>> to have a dependency on Boost in just a few places:
>>>>>>> 
>>>>>>> 1. interfaces/CsoundFile.cpp
>>>>>>> 2. CsoundAC
>>>>>>> 3. CsoundVST
>>>>>>> 
>>>>>>> I think for now our best bet to get a continuous Windows build with
>>>>>>> Appveyor going is to remove the dependency on Boost from
>>>>>>> interfaces/CsoundFile.cpp and just not build CsoundAC/CsoundVST.
>>>>>>> 
>>>>>>> For CsoundFile.cpp, there's just one use of boost:
>>>>>>> 
>>>>>>> // TODO: Replace boost throughout interfaces.
>>>>>>> #if !defined(__ANDROID__)
>>>>>>> boost::split(args, buffer, boost::is_any_of(" \t\n\r"),
>>>>>>> boost::token_compress_on);
>>>>>>> #endif
>>>>>>> 
>>>>>>> Could someone (Michael perhaps? I'm guessing this might be code of
>>>>>>> yours?) take a look and perhaps find a way to get rid of using Boost
>>>>>>> here?
>>>>>>> 
>>>>>>> T

Date2017-04-26 18:34
FromMichael Gogins
SubjectRe: [Csnd-dev] Removing boost from CsoundFile.cpp
I agree that we should move to uniformly requiring at least C++11. If
the VST host opcodes are a problem, I will fix them.

Best,
Mike

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


On Wed, Apr 26, 2017 at 1:25 PM, Victor Lazzarini
 wrote:
> Some older GCCs (e.g. the one that comes in Debian Jessie) do not have full c++11 support, but I think most
> linuxes now come with the newer gccs (> 6.0 I guess). In raspbian jessie, I had to do get a newer compiler
> package (can’t remember which exactly). It can be a pain sometimes, but I think we should roll out the code for
> c++11.
>
> ========================
> Prof. Victor Lazzarini
> Dean of Arts, Celtic Studies, and Philosophy,
> Maynooth University,
> Maynooth, Co Kildare, Ireland
> Tel: 00 353 7086936
> Fax: 00 353 1 7086952
>
>> On 26 Apr 2017, at 18:11, Steven Yi  wrote:
>>
>> Thanks Michael for the update!  I think C++11 makes sense. We'll just
>> have to be sure to test on all of the compilers we use. I think we'll
>> be fine for Visual Studio (I found this link for VS2015, but not one
>> yet for VS2017, but C++11 looks well covered even in VS2015:
>> https://msdn.microsoft.com/en-us/library/hh567368.aspx).  I think the
>> only other compilers that are used are GCC and Clang and they should
>> both be fine on all of the platforms.  (Assuming Emscripten/Clang is
>> fine.)  We'll just have to be sure to explicitly set C++11 for all of
>> our platforms.
>>
>> On Wed, Apr 26, 2017 at 12:23 PM, Rory Walsh  wrote:
>>> I agree.
>>>
>>> On 26 April 2017 at 17:12, Victor Lazzarini 
>>> wrote:
>>>>
>>>> I think it makes sense to move to c++11 for the whole codebase, after all
>>>> it’s 2017. The only issue might be VST,
>>>> which appears to have problems with it (I noticed when trying to compile
>>>> the VST host opcodes).
>>>> ========================
>>>> Prof. Victor Lazzarini
>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>> Maynooth University,
>>>> Maynooth, Co Kildare, Ireland
>>>> Tel: 00 353 7086936
>>>> Fax: 00 353 1 7086952
>>>>
>>>>> On 26 Apr 2017, at 17:08, Michael Gogins 
>>>>> wrote:
>>>>>
>>>>> I've created issues in GitHub for removing the Boost dependency from
>>>>> the Csound interfaces, from CsoundVST, and from CsoundAC.
>>>>>
>>>>> I have pushed the fixes for the Csound interfaces and for CsoundVST,
>>>>> but not tested them, which I will do later today.
>>>>>
>>>>> It turns out I had already replaced boost::numeric::ublas with eigen3
>>>>> in CsoundAC. It remains to replace Boost formatting and random
>>>>> distributions. I am working on that now and expect it to be
>>>>> straightforward, but the C++ requirement will move to -std=c++11. It
>>>>> looks like the Boost random distributions more or less went into
>>>>> C++11.
>>>>>
>>>>> Best,
>>>>> Mike
>>>>>
>>>>> -----------------------------------------------------
>>>>> Michael Gogins
>>>>> Irreducible Productions
>>>>> http://michaelgogins.tumblr.com
>>>>> Michael dot Gogins at gmail dot com
>>>>>
>>>>>
>>>>> On Tue, Apr 25, 2017 at 7:52 PM, Steven Yi  wrote:
>>>>>> Thanks Michael!
>>>>>>
>>>>>> I do think eigen3 is fine as a dependency.  It works at least with
>>>>>> vcpkg as far as I can tell.  We'll have to test again once boost is
>>>>>> off the list of dependencies as it sort of just killed the whole build
>>>>>> and I'm not sure we have any data yet on how long it takes to build
>>>>>> without boost.  (Stephen may have a better idea of it all though.)
>>>>>>
>>>>>> On Tue, Apr 25, 2017 at 6:35 PM, Michael Gogins
>>>>>>  wrote:
>>>>>>> I will take care of this. I would also like to remove the boost
>>>>>>> dependency from CsoundAC etc, not sure how hard that is. The
>>>>>>> dependencies regarding matrix arithmetic would be replaced by Eigen
>>>>>>> (eigen3), can Appveyor deal with that?
>>>>>>>
>>>>>>> Best,
>>>>>>> Mike
>>>>>>>
>>>>>>> -----------------------------------------------------
>>>>>>> Michael Gogins
>>>>>>> Irreducible Productions
>>>>>>> http://michaelgogins.tumblr.com
>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>
>>>>>>>
>>>>>>> On Tue, Apr 25, 2017 at 5:09 PM, Steven Yi  wrote:
>>>>>>>> Hi All,
>>>>>>>>
>>>>>>>> I've been working with Stephen Kyne on getting the Visual Studio
>>>>>>>> build
>>>>>>>> to run on Appveyor (a continuous integration system like Travis).
>>>>>>>> We're getting stuck because downloading and building Boost takes a
>>>>>>>> long time and thus the build times out.  As far as I can see, we seem
>>>>>>>> to have a dependency on Boost in just a few places:
>>>>>>>>
>>>>>>>> 1. interfaces/CsoundFile.cpp
>>>>>>>> 2. CsoundAC
>>>>>>>> 3. CsoundVST
>>>>>>>>
>>>>>>>> I think for now our best bet to get a continuous Windows build with
>>>>>>>> Appveyor going is to remove the dependency on Boost from
>>>>>>>> interfaces/CsoundFile.cpp and just not build CsoundAC/CsoundVST.
>>>>>>>>
>>>>>>>> For CsoundFile.cpp, there's just one use of boost:
>>>>>>>>
>>>>>>>> // TODO: Replace boost throughout interfaces.
>>>>>>>> #if !defined(__ANDROID__)
>>>>>>>> boost::split(args, buffer, boost::is_any_of(" \t\n\r"),
>>>>>>>> boost::token_compress_on);
>>>>>>>> #endif
>>>>>>>>
>>>>>>>> Could someone (Michael perhaps? I'm guessing this might be code of
>>>>>>>> yours?) take a look and perhaps find a way to get rid of using Boost
>>>>>>>> here?
>>>>>>>>
>>>>>>>> Thanks!
>>>>>>>> steven
>>>>
>>>

Date2017-04-26 18:40
FromVictor Lazzarini
SubjectRe: [Csnd-dev] Removing boost from CsoundFile.cpp
The problem is not with our code, but with the SDK. 
========================
Prof. Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952 

> On 26 Apr 2017, at 18:34, Michael Gogins  wrote:
> 
> I agree that we should move to uniformly requiring at least C++11. If
> the VST host opcodes are a problem, I will fix them.
> 
> Best,
> Mike
> 
> -----------------------------------------------------
> Michael Gogins
> Irreducible Productions
> http://michaelgogins.tumblr.com
> Michael dot Gogins at gmail dot com
> 
> 
> On Wed, Apr 26, 2017 at 1:25 PM, Victor Lazzarini
>  wrote:
>> Some older GCCs (e.g. the one that comes in Debian Jessie) do not have full c++11 support, but I think most
>> linuxes now come with the newer gccs (> 6.0 I guess). In raspbian jessie, I had to do get a newer compiler
>> package (can’t remember which exactly). It can be a pain sometimes, but I think we should roll out the code for
>> c++11.
>> 
>> ========================
>> Prof. Victor Lazzarini
>> Dean of Arts, Celtic Studies, and Philosophy,
>> Maynooth University,
>> Maynooth, Co Kildare, Ireland
>> Tel: 00 353 7086936
>> Fax: 00 353 1 7086952
>> 
>>> On 26 Apr 2017, at 18:11, Steven Yi  wrote:
>>> 
>>> Thanks Michael for the update!  I think C++11 makes sense. We'll just
>>> have to be sure to test on all of the compilers we use. I think we'll
>>> be fine for Visual Studio (I found this link for VS2015, but not one
>>> yet for VS2017, but C++11 looks well covered even in VS2015:
>>> https://msdn.microsoft.com/en-us/library/hh567368.aspx).  I think the
>>> only other compilers that are used are GCC and Clang and they should
>>> both be fine on all of the platforms.  (Assuming Emscripten/Clang is
>>> fine.)  We'll just have to be sure to explicitly set C++11 for all of
>>> our platforms.
>>> 
>>> On Wed, Apr 26, 2017 at 12:23 PM, Rory Walsh  wrote:
>>>> I agree.
>>>> 
>>>> On 26 April 2017 at 17:12, Victor Lazzarini 
>>>> wrote:
>>>>> 
>>>>> I think it makes sense to move to c++11 for the whole codebase, after all
>>>>> it’s 2017. The only issue might be VST,
>>>>> which appears to have problems with it (I noticed when trying to compile
>>>>> the VST host opcodes).
>>>>> ========================
>>>>> Prof. Victor Lazzarini
>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>> Maynooth University,
>>>>> Maynooth, Co Kildare, Ireland
>>>>> Tel: 00 353 7086936
>>>>> Fax: 00 353 1 7086952
>>>>> 
>>>>>> On 26 Apr 2017, at 17:08, Michael Gogins 
>>>>>> wrote:
>>>>>> 
>>>>>> I've created issues in GitHub for removing the Boost dependency from
>>>>>> the Csound interfaces, from CsoundVST, and from CsoundAC.
>>>>>> 
>>>>>> I have pushed the fixes for the Csound interfaces and for CsoundVST,
>>>>>> but not tested them, which I will do later today.
>>>>>> 
>>>>>> It turns out I had already replaced boost::numeric::ublas with eigen3
>>>>>> in CsoundAC. It remains to replace Boost formatting and random
>>>>>> distributions. I am working on that now and expect it to be
>>>>>> straightforward, but the C++ requirement will move to -std=c++11. It
>>>>>> looks like the Boost random distributions more or less went into
>>>>>> C++11.
>>>>>> 
>>>>>> Best,
>>>>>> Mike
>>>>>> 
>>>>>> -----------------------------------------------------
>>>>>> Michael Gogins
>>>>>> Irreducible Productions
>>>>>> http://michaelgogins.tumblr.com
>>>>>> Michael dot Gogins at gmail dot com
>>>>>> 
>>>>>> 
>>>>>> On Tue, Apr 25, 2017 at 7:52 PM, Steven Yi  wrote:
>>>>>>> Thanks Michael!
>>>>>>> 
>>>>>>> I do think eigen3 is fine as a dependency.  It works at least with
>>>>>>> vcpkg as far as I can tell.  We'll have to test again once boost is
>>>>>>> off the list of dependencies as it sort of just killed the whole build
>>>>>>> and I'm not sure we have any data yet on how long it takes to build
>>>>>>> without boost.  (Stephen may have a better idea of it all though.)
>>>>>>> 
>>>>>>> On Tue, Apr 25, 2017 at 6:35 PM, Michael Gogins
>>>>>>>  wrote:
>>>>>>>> I will take care of this. I would also like to remove the boost
>>>>>>>> dependency from CsoundAC etc, not sure how hard that is. The
>>>>>>>> dependencies regarding matrix arithmetic would be replaced by Eigen
>>>>>>>> (eigen3), can Appveyor deal with that?
>>>>>>>> 
>>>>>>>> Best,
>>>>>>>> Mike
>>>>>>>> 
>>>>>>>> -----------------------------------------------------
>>>>>>>> Michael Gogins
>>>>>>>> Irreducible Productions
>>>>>>>> http://michaelgogins.tumblr.com
>>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On Tue, Apr 25, 2017 at 5:09 PM, Steven Yi  wrote:
>>>>>>>>> Hi All,
>>>>>>>>> 
>>>>>>>>> I've been working with Stephen Kyne on getting the Visual Studio
>>>>>>>>> build
>>>>>>>>> to run on Appveyor (a continuous integration system like Travis).
>>>>>>>>> We're getting stuck because downloading and building Boost takes a
>>>>>>>>> long time and thus the build times out.  As far as I can see, we seem
>>>>>>>>> to have a dependency on Boost in just a few places:
>>>>>>>>> 
>>>>>>>>> 1. interfaces/CsoundFile.cpp
>>>>>>>>> 2. CsoundAC
>>>>>>>>> 3. CsoundVST
>>>>>>>>> 
>>>>>>>>> I think for now our best bet to get a continuous Windows build with
>>>>>>>>> Appveyor going is to remove the dependency on Boost from
>>>>>>>>> interfaces/CsoundFile.cpp and just not build CsoundAC/CsoundVST.
>>>>>>>>> 
>>>>>>>>> For CsoundFile.cpp, there's just one use of boost:
>>>>>>>>> 
>>>>>>>>> // TODO: Replace boost throughout interfaces.
>>>>>>>>> #if !defined(__ANDROID__)
>>>>>>>>> boost::split(args, buffer, boost::is_any_of(" \t\n\r"),
>>>>>>>>> boost::token_compress_on);
>>>>>>>>> #endif
>>>>>>>>> 
>>>>>>>>> Could someone (Michael perhaps? I'm guessing this might be code of
>>>>>>>>> yours?) take a look and perhaps find a way to get rid of using Boost
>>>>>>>>> here?
>>>>>>>>> 
>>>>>>>>> Tha

Date2017-04-26 18:52
FromRory Walsh
SubjectRe: [Csnd-dev] Removing boost from CsoundFile.cpp
That's odd, I've been building Cabbage with c++11 for quite some time without any problems, and it use the VST 2.4 SDK?  

On 26 April 2017 at 18:40, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:
The problem is not with our code, but with the SDK.
========================
Prof. Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952

> On 26 Apr 2017, at 18:34, Michael Gogins <michael.gogins@GMAIL.COM> wrote:
>
> I agree that we should move to uniformly requiring at least C++11. If
> the VST host opcodes are a problem, I will fix them.
>
> Best,
> Mike
>
> -----------------------------------------------------
> Michael Gogins
> Irreducible Productions
> http://michaelgogins.tumblr.com
> Michael dot Gogins at gmail dot com
>
>
> On Wed, Apr 26, 2017 at 1:25 PM, Victor Lazzarini
> <Victor.Lazzarini@nuim.ie> wrote:
>> Some older GCCs (e.g. the one that comes in Debian Jessie) do not have full c++11 support, but I think most
>> linuxes now come with the newer gccs (> 6.0 I guess). In raspbian jessie, I had to do get a newer compiler
>> package (can’t remember which exactly). It can be a pain sometimes, but I think we should roll out the code for
>> c++11.
>>
>> ========================
>> Prof. Victor Lazzarini
>> Dean of Arts, Celtic Studies, and Philosophy,
>> Maynooth University,
>> Maynooth, Co Kildare, Ireland
>> Tel: 00 353 7086936
>> Fax: 00 353 1 7086952
>>
>>> On 26 Apr 2017, at 18:11, Steven Yi <stevenyi@gmail.com> wrote:
>>>
>>> Thanks Michael for the update!  I think C++11 makes sense. We'll just
>>> have to be sure to test on all of the compilers we use. I think we'll
>>> be fine for Visual Studio (I found this link for VS2015, but not one
>>> yet for VS2017, but C++11 looks well covered even in VS2015:
>>> https://msdn.microsoft.com/en-us/library/hh567368.aspx).  I think the
>>> only other compilers that are used are GCC and Clang and they should
>>> both be fine on all of the platforms.  (Assuming Emscripten/Clang is
>>> fine.)  We'll just have to be sure to explicitly set C++11 for all of
>>> our platforms.
>>>
>>> On Wed, Apr 26, 2017 at 12:23 PM, Rory Walsh <rorywalsh@ear.ie> wrote:
>>>> I agree.
>>>>
>>>> On 26 April 2017 at 17:12, Victor Lazzarini <Victor.Lazzarini@nuim.ie>
>>>> wrote:
>>>>>
>>>>> I think it makes sense to move to c++11 for the whole codebase, after all
>>>>> it’s 2017. The only issue might be VST,
>>>>> which appears to have problems with it (I noticed when trying to compile
>>>>> the VST host opcodes).
>>>>> ========================
>>>>> Prof. Victor Lazzarini
>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>> Maynooth University,
>>>>> Maynooth, Co Kildare, Ireland
>>>>> Tel: 00 353 7086936
>>>>> Fax: 00 353 1 7086952
>>>>>
>>>>>> On 26 Apr 2017, at 17:08, Michael Gogins <michael.gogins@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>> I've created issues in GitHub for removing the Boost dependency from
>>>>>> the Csound interfaces, from CsoundVST, and from CsoundAC.
>>>>>>
>>>>>> I have pushed the fixes for the Csound interfaces and for CsoundVST,
>>>>>> but not tested them, which I will do later today.
>>>>>>
>>>>>> It turns out I had already replaced boost::numeric::ublas with eigen3
>>>>>> in CsoundAC. It remains to replace Boost formatting and random
>>>>>> distributions. I am working on that now and expect it to be
>>>>>> straightforward, but the C++ requirement will move to -std=c++11. It
>>>>>> looks like the Boost random distributions more or less went into
>>>>>> C++11.
>>>>>>
>>>>>> Best,
>>>>>> Mike
>>>>>>
>>>>>> -----------------------------------------------------
>>>>>> Michael Gogins
>>>>>> Irreducible Productions
>>>>>> http://michaelgogins.tumblr.com
>>>>>> Michael dot Gogins at gmail dot com
>>>>>>
>>>>>>
>>>>>> On Tue, Apr 25, 2017 at 7:52 PM, Steven Yi <stevenyi@gmail.com> wrote:
>>>>>>> Thanks Michael!
>>>>>>>
>>>>>>> I do think eigen3 is fine as a dependency.  It works at least with
>>>>>>> vcpkg as far as I can tell.  We'll have to test again once boost is
>>>>>>> off the list of dependencies as it sort of just killed the whole build
>>>>>>> and I'm not sure we have any data yet on how long it takes to build
>>>>>>> without boost.  (Stephen may have a better idea of it all though.)
>>>>>>>
>>>>>>> On Tue, Apr 25, 2017 at 6:35 PM, Michael Gogins
>>>>>>> <michael.gogins@gmail.com> wrote:
>>>>>>>> I will take care of this. I would also like to remove the boost
>>>>>>>> dependency from CsoundAC etc, not sure how hard that is. The
>>>>>>>> dependencies regarding matrix arithmetic would be replaced by Eigen
>>>>>>>> (eigen3), can Appveyor deal with that?
>>>>>>>>
>>>>>>>> Best,
>>>>>>>> Mike
>>>>>>>>
>>>>>>>> -----------------------------------------------------
>>>>>>>> Michael Gogins
>>>>>>>> Irreducible Productions
>>>>>>>> http://michaelgogins.tumblr.com
>>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>>
>>>>>>>>
>>>>>>>> On Tue, Apr 25, 2017 at 5:09 PM, Steven Yi <stevenyi@gmail.com> wrote:
>>>>>>>>> Hi All,
>>>>>>>>>
>>>>>>>>> I've been working with Stephen Kyne on getting the Visual Studio
>>>>>>>>> build
>>>>>>>>> to run on Appveyor (a continuous integration system like Travis).
>>>>>>>>> We're getting stuck because downloading and building Boost takes a
>>>>>>>>> long time and thus the build times out.  As far as I can see, we seem
>>>>>>>>> to have a dependency on Boost in just a few places:
>>>>>>>>>
>>>>>>>>> 1. interfaces/CsoundFile.cpp
>>>>>>>>> 2. CsoundAC
>>>>>>>>> 3. CsoundVST
>>>>>>>>>
>>>>>>>>> I think for now our best bet to get a continuous Windows build with
>>>>>>>>> Appveyor going is to remove the dependency on Boost from
>>>>>>>>> interfaces/CsoundFile.cpp and just not build CsoundAC/CsoundVST.
>>>>>>>>>
>>>>>>>>> For CsoundFile.cpp, there's just one use of boost:
>>>>>>>>>
>>>>>>>>> // TODO: Replace boost throughout interfaces.
>>>>>>>>> #if !defined(__ANDROID__)
>>>>>>>>> boost::split(args, buffer, boost::is_any_of(" \t\n\r"),
>>>>>>>>> boost::token_compress_on);
>>>>>>>>> #endif
>>>>>>>>>
>>>>>>>>> Could someone (Michael perhaps? I'm guessing this might be code of
>>>>>>>>> yours?) take a look and perhaps find a way to get rid of using Boost
>>>>>>>>> here?
>>>>>>>>>
>>>>>>>>> Thanks!
>>>>>>>>> steven
>>>>>
>>>>
>>



Date2017-04-26 19:02
FromVictor Lazzarini
SubjectRe: [Csnd-dev] Removing boost from CsoundFile.cpp
Well, I might be wrong, but I remember adding -std=c++11 to cmake and making VST4cs fail to build with
a complaint about an SDK header.

========================
Prof. Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952 

> On 26 Apr 2017, at 18:52, Rory Walsh  wrote:
> 
> That's odd, I've been building Cabbage with c++11 for quite some time without any problems, and it use the VST 2.4 SDK?  
> 
> On 26 April 2017 at 18:40, Victor Lazzarini  wrote:
> The problem is not with our code, but with the SDK.
> ========================
> Prof. Victor Lazzarini
> Dean of Arts, Celtic Studies, and Philosophy,
> Maynooth University,
> Maynooth, Co Kildare, Ireland
> Tel: 00 353 7086936
> Fax: 00 353 1 7086952
> 
> > On 26 Apr 2017, at 18:34, Michael Gogins  wrote:
> >
> > I agree that we should move to uniformly requiring at least C++11. If
> > the VST host opcodes are a problem, I will fix them.
> >
> > Best,
> > Mike
> >
> > -----------------------------------------------------
> > Michael Gogins
> > Irreducible Productions
> > http://michaelgogins.tumblr.com
> > Michael dot Gogins at gmail dot com
> >
> >
> > On Wed, Apr 26, 2017 at 1:25 PM, Victor Lazzarini
> >  wrote:
> >> Some older GCCs (e.g. the one that comes in Debian Jessie) do not have full c++11 support, but I think most
> >> linuxes now come with the newer gccs (> 6.0 I guess). In raspbian jessie, I had to do get a newer compiler
> >> package (can’t remember which exactly). It can be a pain sometimes, but I think we should roll out the code for
> >> c++11.
> >>
> >> ========================
> >> Prof. Victor Lazzarini
> >> Dean of Arts, Celtic Studies, and Philosophy,
> >> Maynooth University,
> >> Maynooth, Co Kildare, Ireland
> >> Tel: 00 353 7086936
> >> Fax: 00 353 1 7086952
> >>
> >>> On 26 Apr 2017, at 18:11, Steven Yi  wrote:
> >>>
> >>> Thanks Michael for the update!  I think C++11 makes sense. We'll just
> >>> have to be sure to test on all of the compilers we use. I think we'll
> >>> be fine for Visual Studio (I found this link for VS2015, but not one
> >>> yet for VS2017, but C++11 looks well covered even in VS2015:
> >>> https://msdn.microsoft.com/en-us/library/hh567368.aspx).  I think the
> >>> only other compilers that are used are GCC and Clang and they should
> >>> both be fine on all of the platforms.  (Assuming Emscripten/Clang is
> >>> fine.)  We'll just have to be sure to explicitly set C++11 for all of
> >>> our platforms.
> >>>
> >>> On Wed, Apr 26, 2017 at 12:23 PM, Rory Walsh  wrote:
> >>>> I agree.
> >>>>
> >>>> On 26 April 2017 at 17:12, Victor Lazzarini 
> >>>> wrote:
> >>>>>
> >>>>> I think it makes sense to move to c++11 for the whole codebase, after all
> >>>>> it’s 2017. The only issue might be VST,
> >>>>> which appears to have problems with it (I noticed when trying to compile
> >>>>> the VST host opcodes).
> >>>>> ========================
> >>>>> Prof. Victor Lazzarini
> >>>>> Dean of Arts, Celtic Studies, and Philosophy,
> >>>>> Maynooth University,
> >>>>> Maynooth, Co Kildare, Ireland
> >>>>> Tel: 00 353 7086936
> >>>>> Fax: 00 353 1 7086952
> >>>>>
> >>>>>> On 26 Apr 2017, at 17:08, Michael Gogins 
> >>>>>> wrote:
> >>>>>>
> >>>>>> I've created issues in GitHub for removing the Boost dependency from
> >>>>>> the Csound interfaces, from CsoundVST, and from CsoundAC.
> >>>>>>
> >>>>>> I have pushed the fixes for the Csound interfaces and for CsoundVST,
> >>>>>> but not tested them, which I will do later today.
> >>>>>>
> >>>>>> It turns out I had already replaced boost::numeric::ublas with eigen3
> >>>>>> in CsoundAC. It remains to replace Boost formatting and random
> >>>>>> distributions. I am working on that now and expect it to be
> >>>>>> straightforward, but the C++ requirement will move to -std=c++11. It
> >>>>>> looks like the Boost random distributions more or less went into
> >>>>>> C++11.
> >>>>>>
> >>>>>> Best,
> >>>>>> Mike
> >>>>>>
> >>>>>> -----------------------------------------------------
> >>>>>> Michael Gogins
> >>>>>> Irreducible Productions
> >>>>>> http://michaelgogins.tumblr.com
> >>>>>> Michael dot Gogins at gmail dot com
> >>>>>>
> >>>>>>
> >>>>>> On Tue, Apr 25, 2017 at 7:52 PM, Steven Yi  wrote:
> >>>>>>> Thanks Michael!
> >>>>>>>
> >>>>>>> I do think eigen3 is fine as a dependency.  It works at least with
> >>>>>>> vcpkg as far as I can tell.  We'll have to test again once boost is
> >>>>>>> off the list of dependencies as it sort of just killed the whole build
> >>>>>>> and I'm not sure we have any data yet on how long it takes to build
> >>>>>>> without boost.  (Stephen may have a better idea of it all though.)
> >>>>>>>
> >>>>>>> On Tue, Apr 25, 2017 at 6:35 PM, Michael Gogins
> >>>>>>>  wrote:
> >>>>>>>> I will take care of this. I would also like to remove the boost
> >>>>>>>> dependency from CsoundAC etc, not sure how hard that is. The
> >>>>>>>> dependencies regarding matrix arithmetic would be replaced by Eigen
> >>>>>>>> (eigen3), can Appveyor deal with that?
> >>>>>>>>
> >>>>>>>> Best,
> >>>>>>>> Mike
> >>>>>>>>
> >>>>>>>> -----------------------------------------------------
> >>>>>>>> Michael Gogins
> >>>>>>>> Irreducible Productions
> >>>>>>>> http://michaelgogins.tumblr.com
> >>>>>>>> Michael dot Gogins at gmail dot com
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> On Tue, Apr 25, 2017 at 5:09 PM, Steven Yi  wrote:
> >>>>>>>>> Hi All,
> >>>>>>>>>
> >>>>>>>>> I've been working with Stephen Kyne on getting the Visual Studio
> >>>>>>>>> build
> >>>>>>>>> to run on Appveyor (a continuous integration system like Travis).
> >>>>>>>>> We're getting stuck because downloading and building Boost takes a
> >>>>>>>>> long time and thus the build times out.  As far as I can see, we seem
> >>>>>>>>> to have a dependency on Boost in just a few places:
> >>>>>>>>>
> >>>>>>>>> 1. interfaces/CsoundFile.cpp
> >>>>>>>>> 2. CsoundAC
> >>>>>>>>> 3. CsoundVST
> >>>>>>>>>
> >>>>>>>>> I think for now our best bet to get a continuous Windows build with
> >>>>>>>>> Appveyor going is to remove the dependency on Boost from
> >>>>>>>>> interfaces/CsoundFile.cpp and just not build CsoundAC/CsoundVST.
> >>>>>>>>>
> >>>>>>>>> For CsoundFile.cpp, there's just one use of boost:
> >>>>>>>>>
> >>>>>>>>> // TODO: Replace boost throughout interfaces.
> >>>>>>>>> #if !defined(__ANDROID__)
> >>>>>>>>> boost::split(args, buffer, boost::is_any_of(" \t\n\r"),
> >>>>>>>>> boost::token_compress_on);
> >>>>>>>>> #endif
> >>>>>>>>>
> >>>>>>>>> Could someone (Michael perhaps? I'm guessing this might be code of
> >>>>>>>>> yours?) take a look and perhaps find a way to get rid of using Boost
> >>>>>>>>> here?
> >>>>>>>>>
> >>>>>>>>> Thanks!
> >>>>>>>>> steven

Date2017-04-26 19:14
FromVictor Lazzarini
SubjectRe: [Csnd-dev] Removing boost from CsoundFile.cpp
yep, I tried it again:

/usr/local/lib/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.cpp:512:20: error: non-constant-expression cannot
      be narrowed from type 'int' to 'char' in initializer list [-Wc++11-narrowing]
                        char temp[2] = {'0' + (char)digit, '\0'};
                                        ^~~~~~~~~~~~~~~~~
/usr/local/lib/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.cpp:512:20: note: insert an explicit cast to
      silence this issue
                        char temp[2] = {'0' + (char)digit, '\0'};
                                        ^~~~~~~~~~~~~~~~~
                                        static_cast( )
1 error generated.


it needs some SDK surgery. Or maybe a compiler switch.
========================
Prof. Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952 

> On 26 Apr 2017, at 19:02, Victor Lazzarini  wrote:
> 
> Well, I might be wrong, but I remember adding -std=c++11 to cmake and making VST4cs fail to build with
> a complaint about an SDK header.
> 
> ========================
> Prof. Victor Lazzarini
> Dean of Arts, Celtic Studies, and Philosophy,
> Maynooth University,
> Maynooth, Co Kildare, Ireland
> Tel: 00 353 7086936
> Fax: 00 353 1 7086952 
> 
>> On 26 Apr 2017, at 18:52, Rory Walsh  wrote:
>> 
>> That's odd, I've been building Cabbage with c++11 for quite some time without any problems, and it use the VST 2.4 SDK?  
>> 
>> On 26 April 2017 at 18:40, Victor Lazzarini  wrote:
>> The problem is not with our code, but with the SDK.
>> ========================
>> Prof. Victor Lazzarini
>> Dean of Arts, Celtic Studies, and Philosophy,
>> Maynooth University,
>> Maynooth, Co Kildare, Ireland
>> Tel: 00 353 7086936
>> Fax: 00 353 1 7086952
>> 
>>> On 26 Apr 2017, at 18:34, Michael Gogins  wrote:
>>> 
>>> I agree that we should move to uniformly requiring at least C++11. If
>>> the VST host opcodes are a problem, I will fix them.
>>> 
>>> Best,
>>> Mike
>>> 
>>> -----------------------------------------------------
>>> Michael Gogins
>>> Irreducible Productions
>>> http://michaelgogins.tumblr.com
>>> Michael dot Gogins at gmail dot com
>>> 
>>> 
>>> On Wed, Apr 26, 2017 at 1:25 PM, Victor Lazzarini
>>>  wrote:
>>>> Some older GCCs (e.g. the one that comes in Debian Jessie) do not have full c++11 support, but I think most
>>>> linuxes now come with the newer gccs (> 6.0 I guess). In raspbian jessie, I had to do get a newer compiler
>>>> package (can’t remember which exactly). It can be a pain sometimes, but I think we should roll out the code for
>>>> c++11.
>>>> 
>>>> ========================
>>>> Prof. Victor Lazzarini
>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>> Maynooth University,
>>>> Maynooth, Co Kildare, Ireland
>>>> Tel: 00 353 7086936
>>>> Fax: 00 353 1 7086952
>>>> 
>>>>> On 26 Apr 2017, at 18:11, Steven Yi  wrote:
>>>>> 
>>>>> Thanks Michael for the update!  I think C++11 makes sense. We'll just
>>>>> have to be sure to test on all of the compilers we use. I think we'll
>>>>> be fine for Visual Studio (I found this link for VS2015, but not one
>>>>> yet for VS2017, but C++11 looks well covered even in VS2015:
>>>>> https://msdn.microsoft.com/en-us/library/hh567368.aspx).  I think the
>>>>> only other compilers that are used are GCC and Clang and they should
>>>>> both be fine on all of the platforms.  (Assuming Emscripten/Clang is
>>>>> fine.)  We'll just have to be sure to explicitly set C++11 for all of
>>>>> our platforms.
>>>>> 
>>>>> On Wed, Apr 26, 2017 at 12:23 PM, Rory Walsh  wrote:
>>>>>> I agree.
>>>>>> 
>>>>>> On 26 April 2017 at 17:12, Victor Lazzarini 
>>>>>> wrote:
>>>>>>> 
>>>>>>> I think it makes sense to move to c++11 for the whole codebase, after all
>>>>>>> it’s 2017. The only issue might be VST,
>>>>>>> which appears to have problems with it (I noticed when trying to compile
>>>>>>> the VST host opcodes).
>>>>>>> ========================
>>>>>>> Prof. Victor Lazzarini
>>>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>>>> Maynooth University,
>>>>>>> Maynooth, Co Kildare, Ireland
>>>>>>> Tel: 00 353 7086936
>>>>>>> Fax: 00 353 1 7086952
>>>>>>> 
>>>>>>>> On 26 Apr 2017, at 17:08, Michael Gogins 
>>>>>>>> wrote:
>>>>>>>> 
>>>>>>>> I've created issues in GitHub for removing the Boost dependency from
>>>>>>>> the Csound interfaces, from CsoundVST, and from CsoundAC.
>>>>>>>> 
>>>>>>>> I have pushed the fixes for the Csound interfaces and for CsoundVST,
>>>>>>>> but not tested them, which I will do later today.
>>>>>>>> 
>>>>>>>> It turns out I had already replaced boost::numeric::ublas with eigen3
>>>>>>>> in CsoundAC. It remains to replace Boost formatting and random
>>>>>>>> distributions. I am working on that now and expect it to be
>>>>>>>> straightforward, but the C++ requirement will move to -std=c++11. It
>>>>>>>> looks like the Boost random distributions more or less went into
>>>>>>>> C++11.
>>>>>>>> 
>>>>>>>> Best,
>>>>>>>> Mike
>>>>>>>> 
>>>>>>>> -----------------------------------------------------
>>>>>>>> Michael Gogins
>>>>>>>> Irreducible Productions
>>>>>>>> http://michaelgogins.tumblr.com
>>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On Tue, Apr 25, 2017 at 7:52 PM, Steven Yi  wrote:
>>>>>>>>> Thanks Michael!
>>>>>>>>> 
>>>>>>>>> I do think eigen3 is fine as a dependency.  It works at least with
>>>>>>>>> vcpkg as far as I can tell.  We'll have to test again once boost is
>>>>>>>>> off the list of dependencies as it sort of just killed the whole build
>>>>>>>>> and I'm not sure we have any data yet on how long it takes to build
>>>>>>>>> without boost.  (Stephen may have a better idea of it all though.)
>>>>>>>>> 
>>>>>>>>> On Tue, Apr 25, 2017 at 6:35 PM, Michael Gogins
>>>>>>>>>  wrote:
>>>>>>>>>> I will take care of this. I would also like to remove the boost
>>>>>>>>>> dependency from CsoundAC etc, not sure how hard that is. The
>>>>>>>>>> dependencies regarding matrix arithmetic would be replaced by Eigen
>>>>>>>>>> (eigen3), can Appveyor deal with that?
>>>>>>>>>> 
>>>>>>>>>> Best,
>>>>>>>>>> Mike
>>>>>>>>>> 
>>>>>>>>>> -----------------------------------------------------
>>>>>>>>>> Michael Gogins
>>>>>>>>>> Irreducible Productions
>>>>>>>>>> http://michaelgogins.tumblr.com
>>>>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> On Tue, Apr 25, 2017 at 5:09 PM, Steven Yi  wrote:
>>>>>>>>>>> Hi All,
>>>>>>>>>>> 
>>>>>>>>>>> I've been working with Stephen Kyne on getting the Visual Studio
>>>>>>>>>>> build
>>>>>>>>>>> to run on Appveyor (a continuous integration system like Travis).
>>>>>>>>>>> We're getting stuck because downloading and building Boost takes a
>>>>>>>>>>> long time and thus the build times out.  As far as I can see, we seem
>>>>>>>>>>> to have a dependency on Boost in just a few places:
>>>>>>>>>>> 
>>>>>>>>>>> 1. interfaces/CsoundFile.cpp
>>>>>>>>>>> 2. CsoundAC
>>>>>>>>>>> 3. CsoundVST
>>>>>>>>>>> 
>>>>>>>>>>> I think for now our best bet to get a continuous Windows build with
>>>>>>>>>>> Appveyor going is to remove the dependency on Boost from
>>>>>>>>>>> interfaces/CsoundFile.cpp and just not build CsoundAC/CsoundVST.
>>>>>>>>>>> 
>>>>>>>>>>> For CsoundFile.cpp, there's just one use of boost:
>>>>>>>>>>> 
>>>>>>>>>>> // TODO: Replace boost throughout interfaces.
>>>>>>>>>>> #if !defined(__ANDROID__)
>>>>>>>>>>> boost::split(args, buffer, boost::is_any_of(" \t\n\r"),
>>>>>>>>>>> boost::token_compress_on);
>>>>>>>>>>> #endif
>>>>>>>>>>> 
>>>>>>>>>>> Could someone (Michael perhaps? I'm guessing this might be code of
>>>>>>>>>>> yours?) take a look and perhaps find a way to get rid of using Boost
>>>>>>>>>>> here?
>>>>>>>>>>> 
>>>>>>>>>>> Thanks!
>>>>>>>>>>> steven
>>>>>>> 
>>>>>> 
>>>> 
>> 
>> 
> 

Date2017-04-26 19:33
FromRory Walsh
SubjectRe: [Csnd-dev] Removing boost from CsoundFile.cpp
I'm not sure how JUCE does it but I am sure It doesn't modify the VST SDK.  

On 26 April 2017 at 19:14, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:
yep, I tried it again:

/usr/local/lib/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.cpp:512:20: error: non-constant-expression cannot
      be narrowed from type 'int' to 'char' in initializer list [-Wc++11-narrowing]
                        char temp[2] = {'0' + (char)digit, '\0'};
                                        ^~~~~~~~~~~~~~~~~
/usr/local/lib/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.cpp:512:20: note: insert an explicit cast to
      silence this issue
                        char temp[2] = {'0' + (char)digit, '\0'};
                                        ^~~~~~~~~~~~~~~~~
                                        static_cast<char>( )
1 error generated.


it needs some SDK surgery. Or maybe a compiler switch.
========================
Prof. Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952

> On 26 Apr 2017, at 19:02, Victor Lazzarini <Victor.Lazzarini@NUIM.IE> wrote:
>
> Well, I might be wrong, but I remember adding -std=c++11 to cmake and making VST4cs fail to build with
> a complaint about an SDK header.
>
> ========================
> Prof. Victor Lazzarini
> Dean of Arts, Celtic Studies, and Philosophy,
> Maynooth University,
> Maynooth, Co Kildare, Ireland
> Tel: 00 353 7086936
> Fax: 00 353 1 7086952
>
>> On 26 Apr 2017, at 18:52, Rory Walsh <rorywalsh@ear.ie> wrote:
>>
>> That's odd, I've been building Cabbage with c++11 for quite some time without any problems, and it use the VST 2.4 SDK?
>>
>> On 26 April 2017 at 18:40, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:
>> The problem is not with our code, but with the SDK.
>> ========================
>> Prof. Victor Lazzarini
>> Dean of Arts, Celtic Studies, and Philosophy,
>> Maynooth University,
>> Maynooth, Co Kildare, Ireland
>> Tel: 00 353 7086936
>> Fax: 00 353 1 7086952
>>
>>> On 26 Apr 2017, at 18:34, Michael Gogins <michael.gogins@GMAIL.COM> wrote:
>>>
>>> I agree that we should move to uniformly requiring at least C++11. If
>>> the VST host opcodes are a problem, I will fix them.
>>>
>>> Best,
>>> Mike
>>>
>>> -----------------------------------------------------
>>> Michael Gogins
>>> Irreducible Productions
>>> http://michaelgogins.tumblr.com
>>> Michael dot Gogins at gmail dot com
>>>
>>>
>>> On Wed, Apr 26, 2017 at 1:25 PM, Victor Lazzarini
>>> <Victor.Lazzarini@nuim.ie> wrote:
>>>> Some older GCCs (e.g. the one that comes in Debian Jessie) do not have full c++11 support, but I think most
>>>> linuxes now come with the newer gccs (> 6.0 I guess). In raspbian jessie, I had to do get a newer compiler
>>>> package (can’t remember which exactly). It can be a pain sometimes, but I think we should roll out the code for
>>>> c++11.
>>>>
>>>> ========================
>>>> Prof. Victor Lazzarini
>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>> Maynooth University,
>>>> Maynooth, Co Kildare, Ireland
>>>> Tel: 00 353 7086936
>>>> Fax: 00 353 1 7086952
>>>>
>>>>> On 26 Apr 2017, at 18:11, Steven Yi <stevenyi@gmail.com> wrote:
>>>>>
>>>>> Thanks Michael for the update!  I think C++11 makes sense. We'll just
>>>>> have to be sure to test on all of the compilers we use. I think we'll
>>>>> be fine for Visual Studio (I found this link for VS2015, but not one
>>>>> yet for VS2017, but C++11 looks well covered even in VS2015:
>>>>> https://msdn.microsoft.com/en-us/library/hh567368.aspx).  I think the
>>>>> only other compilers that are used are GCC and Clang and they should
>>>>> both be fine on all of the platforms.  (Assuming Emscripten/Clang is
>>>>> fine.)  We'll just have to be sure to explicitly set C++11 for all of
>>>>> our platforms.
>>>>>
>>>>> On Wed, Apr 26, 2017 at 12:23 PM, Rory Walsh <rorywalsh@ear.ie> wrote:
>>>>>> I agree.
>>>>>>
>>>>>> On 26 April 2017 at 17:12, Victor Lazzarini <Victor.Lazzarini@nuim.ie>
>>>>>> wrote:
>>>>>>>
>>>>>>> I think it makes sense to move to c++11 for the whole codebase, after all
>>>>>>> it’s 2017. The only issue might be VST,
>>>>>>> which appears to have problems with it (I noticed when trying to compile
>>>>>>> the VST host opcodes).
>>>>>>> ========================
>>>>>>> Prof. Victor Lazzarini
>>>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>>>> Maynooth University,
>>>>>>> Maynooth, Co Kildare, Ireland
>>>>>>> Tel: 00 353 7086936
>>>>>>> Fax: 00 353 1 7086952
>>>>>>>
>>>>>>>> On 26 Apr 2017, at 17:08, Michael Gogins <michael.gogins@gmail.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>> I've created issues in GitHub for removing the Boost dependency from
>>>>>>>> the Csound interfaces, from CsoundVST, and from CsoundAC.
>>>>>>>>
>>>>>>>> I have pushed the fixes for the Csound interfaces and for CsoundVST,
>>>>>>>> but not tested them, which I will do later today.
>>>>>>>>
>>>>>>>> It turns out I had already replaced boost::numeric::ublas with eigen3
>>>>>>>> in CsoundAC. It remains to replace Boost formatting and random
>>>>>>>> distributions. I am working on that now and expect it to be
>>>>>>>> straightforward, but the C++ requirement will move to -std=c++11. It
>>>>>>>> looks like the Boost random distributions more or less went into
>>>>>>>> C++11.
>>>>>>>>
>>>>>>>> Best,
>>>>>>>> Mike
>>>>>>>>
>>>>>>>> -----------------------------------------------------
>>>>>>>> Michael Gogins
>>>>>>>> Irreducible Productions
>>>>>>>> http://michaelgogins.tumblr.com
>>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>>
>>>>>>>>
>>>>>>>> On Tue, Apr 25, 2017 at 7:52 PM, Steven Yi <stevenyi@gmail.com> wrote:
>>>>>>>>> Thanks Michael!
>>>>>>>>>
>>>>>>>>> I do think eigen3 is fine as a dependency.  It works at least with
>>>>>>>>> vcpkg as far as I can tell.  We'll have to test again once boost is
>>>>>>>>> off the list of dependencies as it sort of just killed the whole build
>>>>>>>>> and I'm not sure we have any data yet on how long it takes to build
>>>>>>>>> without boost.  (Stephen may have a better idea of it all though.)
>>>>>>>>>
>>>>>>>>> On Tue, Apr 25, 2017 at 6:35 PM, Michael Gogins
>>>>>>>>> <michael.gogins@gmail.com> wrote:
>>>>>>>>>> I will take care of this. I would also like to remove the boost
>>>>>>>>>> dependency from CsoundAC etc, not sure how hard that is. The
>>>>>>>>>> dependencies regarding matrix arithmetic would be replaced by Eigen
>>>>>>>>>> (eigen3), can Appveyor deal with that?
>>>>>>>>>>
>>>>>>>>>> Best,
>>>>>>>>>> Mike
>>>>>>>>>>
>>>>>>>>>> -----------------------------------------------------
>>>>>>>>>> Michael Gogins
>>>>>>>>>> Irreducible Productions
>>>>>>>>>> http://michaelgogins.tumblr.com
>>>>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Tue, Apr 25, 2017 at 5:09 PM, Steven Yi <stevenyi@gmail.com> wrote:
>>>>>>>>>>> Hi All,
>>>>>>>>>>>
>>>>>>>>>>> I've been working with Stephen Kyne on getting the Visual Studio
>>>>>>>>>>> build
>>>>>>>>>>> to run on Appveyor (a continuous integration system like Travis).
>>>>>>>>>>> We're getting stuck because downloading and building Boost takes a
>>>>>>>>>>> long time and thus the build times out.  As far as I can see, we seem
>>>>>>>>>>> to have a dependency on Boost in just a few places:
>>>>>>>>>>>
>>>>>>>>>>> 1. interfaces/CsoundFile.cpp
>>>>>>>>>>> 2. CsoundAC
>>>>>>>>>>> 3. CsoundVST
>>>>>>>>>>>
>>>>>>>>>>> I think for now our best bet to get a continuous Windows build with
>>>>>>>>>>> Appveyor going is to remove the dependency on Boost from
>>>>>>>>>>> interfaces/CsoundFile.cpp and just not build CsoundAC/CsoundVST.
>>>>>>>>>>>
>>>>>>>>>>> For CsoundFile.cpp, there's just one use of boost:
>>>>>>>>>>>
>>>>>>>>>>> // TODO: Replace boost throughout interfaces.
>>>>>>>>>>> #if !defined(__ANDROID__)
>>>>>>>>>>> boost::split(args, buffer, boost::is_any_of(" \t\n\r"),
>>>>>>>>>>> boost::token_compress_on);
>>>>>>>>>>> #endif
>>>>>>>>>>>
>>>>>>>>>>> Could someone (Michael perhaps? I'm guessing this might be code of
>>>>>>>>>>> yours?) take a look and perhaps find a way to get rid of using Boost
>>>>>>>>>>> here?
>>>>>>>>>>>
>>>>>>>>>>> Thanks!
>>>>>>>>>>> steven
>>>>>>>
>>>>>>
>>>>
>>
>>
>



Date2017-04-26 20:05
FromMichael Gogins
SubjectRe: [Csnd-dev] Removing boost from CsoundFile.cpp
There may be a pragma to turn off -Wc++11-narrowing.

Best,
Mike

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


On Wed, Apr 26, 2017 at 2:33 PM, Rory Walsh  wrote:
> I'm not sure how JUCE does it but I am sure It doesn't modify the VST SDK.
>
> On 26 April 2017 at 19:14, Victor Lazzarini 
> wrote:
>>
>> yep, I tried it again:
>>
>> /usr/local/lib/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.cpp:512:20:
>> error: non-constant-expression cannot
>>       be narrowed from type 'int' to 'char' in initializer list
>> [-Wc++11-narrowing]
>>                         char temp[2] = {'0' + (char)digit, '\0'};
>>                                         ^~~~~~~~~~~~~~~~~
>> /usr/local/lib/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.cpp:512:20:
>> note: insert an explicit cast to
>>       silence this issue
>>                         char temp[2] = {'0' + (char)digit, '\0'};
>>                                         ^~~~~~~~~~~~~~~~~
>>                                         static_cast( )
>> 1 error generated.
>>
>>
>> it needs some SDK surgery. Or maybe a compiler switch.
>> ========================
>> Prof. Victor Lazzarini
>> Dean of Arts, Celtic Studies, and Philosophy,
>> Maynooth University,
>> Maynooth, Co Kildare, Ireland
>> Tel: 00 353 7086936
>> Fax: 00 353 1 7086952
>>
>> > On 26 Apr 2017, at 19:02, Victor Lazzarini 
>> > wrote:
>> >
>> > Well, I might be wrong, but I remember adding -std=c++11 to cmake and
>> > making VST4cs fail to build with
>> > a complaint about an SDK header.
>> >
>> > ========================
>> > Prof. Victor Lazzarini
>> > Dean of Arts, Celtic Studies, and Philosophy,
>> > Maynooth University,
>> > Maynooth, Co Kildare, Ireland
>> > Tel: 00 353 7086936
>> > Fax: 00 353 1 7086952
>> >
>> >> On 26 Apr 2017, at 18:52, Rory Walsh  wrote:
>> >>
>> >> That's odd, I've been building Cabbage with c++11 for quite some time
>> >> without any problems, and it use the VST 2.4 SDK?
>> >>
>> >> On 26 April 2017 at 18:40, Victor Lazzarini 
>> >> wrote:
>> >> The problem is not with our code, but with the SDK.
>> >> ========================
>> >> Prof. Victor Lazzarini
>> >> Dean of Arts, Celtic Studies, and Philosophy,
>> >> Maynooth University,
>> >> Maynooth, Co Kildare, Ireland
>> >> Tel: 00 353 7086936
>> >> Fax: 00 353 1 7086952
>> >>
>> >>> On 26 Apr 2017, at 18:34, Michael Gogins 
>> >>> wrote:
>> >>>
>> >>> I agree that we should move to uniformly requiring at least C++11. If
>> >>> the VST host opcodes are a problem, I will fix them.
>> >>>
>> >>> Best,
>> >>> Mike
>> >>>
>> >>> -----------------------------------------------------
>> >>> Michael Gogins
>> >>> Irreducible Productions
>> >>> http://michaelgogins.tumblr.com
>> >>> Michael dot Gogins at gmail dot com
>> >>>
>> >>>
>> >>> On Wed, Apr 26, 2017 at 1:25 PM, Victor Lazzarini
>> >>>  wrote:
>> >>>> Some older GCCs (e.g. the one that comes in Debian Jessie) do not
>> >>>> have full c++11 support, but I think most
>> >>>> linuxes now come with the newer gccs (> 6.0 I guess). In raspbian
>> >>>> jessie, I had to do get a newer compiler
>> >>>> package (can’t remember which exactly). It can be a pain sometimes,
>> >>>> but I think we should roll out the code for
>> >>>> c++11.
>> >>>>
>> >>>> ========================
>> >>>> Prof. Victor Lazzarini
>> >>>> Dean of Arts, Celtic Studies, and Philosophy,
>> >>>> Maynooth University,
>> >>>> Maynooth, Co Kildare, Ireland
>> >>>> Tel: 00 353 7086936
>> >>>> Fax: 00 353 1 7086952
>> >>>>
>> >>>>> On 26 Apr 2017, at 18:11, Steven Yi  wrote:
>> >>>>>
>> >>>>> Thanks Michael for the update!  I think C++11 makes sense. We'll
>> >>>>> just
>> >>>>> have to be sure to test on all of the compilers we use. I think
>> >>>>> we'll
>> >>>>> be fine for Visual Studio (I found this link for VS2015, but not one
>> >>>>> yet for VS2017, but C++11 looks well covered even in VS2015:
>> >>>>> https://msdn.microsoft.com/en-us/library/hh567368.aspx).  I think
>> >>>>> the
>> >>>>> only other compilers that are used are GCC and Clang and they should
>> >>>>> both be fine on all of the platforms.  (Assuming Emscripten/Clang is
>> >>>>> fine.)  We'll just have to be sure to explicitly set C++11 for all
>> >>>>> of
>> >>>>> our platforms.
>> >>>>>
>> >>>>> On Wed, Apr 26, 2017 at 12:23 PM, Rory Walsh 
>> >>>>> wrote:
>> >>>>>> I agree.
>> >>>>>>
>> >>>>>> On 26 April 2017 at 17:12, Victor Lazzarini
>> >>>>>> 
>> >>>>>> wrote:
>> >>>>>>>
>> >>>>>>> I think it makes sense to move to c++11 for the whole codebase,
>> >>>>>>> after all
>> >>>>>>> it’s 2017. The only issue might be VST,
>> >>>>>>> which appears to have problems with it (I noticed when trying to
>> >>>>>>> compile
>> >>>>>>> the VST host opcodes).
>> >>>>>>> ========================
>> >>>>>>> Prof. Victor Lazzarini
>> >>>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>> >>>>>>> Maynooth University,
>> >>>>>>> Maynooth, Co Kildare, Ireland
>> >>>>>>> Tel: 00 353 7086936
>> >>>>>>> Fax: 00 353 1 7086952
>> >>>>>>>
>> >>>>>>>> On 26 Apr 2017, at 17:08, Michael Gogins
>> >>>>>>>> 
>> >>>>>>>> wrote:
>> >>>>>>>>
>> >>>>>>>> I've created issues in GitHub for removing the Boost dependency
>> >>>>>>>> from
>> >>>>>>>> the Csound interfaces, from CsoundVST, and from CsoundAC.
>> >>>>>>>>
>> >>>>>>>> I have pushed the fixes for the Csound interfaces and for
>> >>>>>>>> CsoundVST,
>> >>>>>>>> but not tested them, which I will do later today.
>> >>>>>>>>
>> >>>>>>>> It turns out I had already replaced boost::numeric::ublas with
>> >>>>>>>> eigen3
>> >>>>>>>> in CsoundAC. It remains to replace Boost formatting and random
>> >>>>>>>> distributions. I am working on that now and expect it to be
>> >>>>>>>> straightforward, but the C++ requirement will move to -std=c++11.
>> >>>>>>>> It
>> >>>>>>>> looks like the Boost random distributions more or less went into
>> >>>>>>>> C++11.
>> >>>>>>>>
>> >>>>>>>> Best,
>> >>>>>>>> Mike
>> >>>>>>>>
>> >>>>>>>> -----------------------------------------------------
>> >>>>>>>> Michael Gogins
>> >>>>>>>> Irreducible Productions
>> >>>>>>>> http://michaelgogins.tumblr.com
>> >>>>>>>> Michael dot Gogins at gmail dot com
>> >>>>>>>>
>> >>>>>>>>
>> >>>>>>>> On Tue, Apr 25, 2017 at 7:52 PM, Steven Yi 
>> >>>>>>>> wrote:
>> >>>>>>>>> Thanks Michael!
>> >>>>>>>>>
>> >>>>>>>>> I do think eigen3 is fine as a dependency.  It works at least
>> >>>>>>>>> with
>> >>>>>>>>> vcpkg as far as I can tell.  We'll have to test again once boost
>> >>>>>>>>> is
>> >>>>>>>>> off the list of dependencies as it sort of just killed the whole
>> >>>>>>>>> build
>> >>>>>>>>> and I'm not sure we have any data yet on how long it takes to
>> >>>>>>>>> build
>> >>>>>>>>> without boost.  (Stephen may have a better idea of it all
>> >>>>>>>>> though.)
>> >>>>>>>>>
>> >>>>>>>>> On Tue, Apr 25, 2017 at 6:35 PM, Michael Gogins
>> >>>>>>>>>  wrote:
>> >>>>>>>>>> I will take care of this. I would also like to remove the boost
>> >>>>>>>>>> dependency from CsoundAC etc, not sure how hard that is. The
>> >>>>>>>>>> dependencies regarding matrix arithmetic would be replaced by
>> >>>>>>>>>> Eigen
>> >>>>>>>>>> (eigen3), can Appveyor deal with that?
>> >>>>>>>>>>
>> >>>>>>>>>> Best,
>> >>>>>>>>>> Mike
>> >>>>>>>>>>
>> >>>>>>>>>> -----------------------------------------------------
>> >>>>>>>>>> Michael Gogins
>> >>>>>>>>>> Irreducible Productions
>> >>>>>>>>>> http://michaelgogins.tumblr.com
>> >>>>>>>>>> Michael dot Gogins at gmail dot com
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>> On Tue, Apr 25, 2017 at 5:09 PM, Steven Yi 
>> >>>>>>>>>> wrote:
>> >>>>>>>>>>> Hi All,
>> >>>>>>>>>>>
>> >>>>>>>>>>> I've been working with Stephen Kyne on getting the Visual
>> >>>>>>>>>>> Studio
>> >>>>>>>>>>> build
>> >>>>>>>>>>> to run on Appveyor (a continuous integration system like
>> >>>>>>>>>>> Travis).
>> >>>>>>>>>>> We're getting stuck because downloading and building Boost
>> >>>>>>>>>>> takes a
>> >>>>>>>>>>> long time and thus the build times out.  As far as I can see,
>> >>>>>>>>>>> we seem
>> >>>>>>>>>>> to have a dependency on Boost in just a few places:
>> >>>>>>>>>>>
>> >>>>>>>>>>> 1. interfaces/CsoundFile.cpp
>> >>>>>>>>>>> 2. CsoundAC
>> >>>>>>>>>>> 3. CsoundVST
>> >>>>>>>>>>>
>> >>>>>>>>>>> I think for now our best bet to get a continuous Windows build
>> >>>>>>>>>>> with
>> >>>>>>>>>>> Appveyor going is to remove the dependency on Boost from
>> >>>>>>>>>>> interfaces/CsoundFile.cpp and just not build
>> >>>>>>>>>>> CsoundAC/CsoundVST.
>> >>>>>>>>>>>
>> >>>>>>>>>>> For CsoundFile.cpp, there's just one use of boost:
>> >>>>>>>>>>>
>> >>>>>>>>>>> // TODO: Replace boost throughout interfaces.
>> >>>>>>>>>>> #if !defined(__ANDROID__)
>> >>>>>>>>>>> boost::split(args, buffer, boost::is_any_of(" \t\n\r"),
>> >>>>>>>>>>> boost::token_compress_on);
>> >>>>>>>>>>> #endif
>> >>>>>>>>>>>
>> >>>>>>>>>>> Could someone (Michael perhaps? I'm guessing this might be
>> >>>>>>>>>>> code of
>> >>>>>>>>>>> yours?) take a look and perhaps find a way to get rid of using
>> >>>>>>>>>>> Boost
>> >>>>>>>>>>> here?
>> >>>>>>>>>>>
>> >>>>>>>>>>> Thanks!
>> >>>>>>>>>>> steven
>> >>>>>>>
>> >>>>>>
>> >>>>
>> >>
>> >>
>> >
>>

Date2017-04-26 20:08
FromVictor Lazzarini
SubjectRe: [Csnd-dev] Removing boost from CsoundFile.cpp
yes, I assume there is something like that. Or -Wno-c++11-narrowing.
========================
Prof. Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952 

> On 26 Apr 2017, at 20:05, Michael Gogins  wrote:
> 
> There may be a pragma to turn off -Wc++11-narrowing.
> 
> Best,
> Mike
> 
> -----------------------------------------------------
> Michael Gogins
> Irreducible Productions
> http://michaelgogins.tumblr.com
> Michael dot Gogins at gmail dot com
> 
> 
> On Wed, Apr 26, 2017 at 2:33 PM, Rory Walsh  wrote:
>> I'm not sure how JUCE does it but I am sure It doesn't modify the VST SDK.
>> 
>> On 26 April 2017 at 19:14, Victor Lazzarini 
>> wrote:
>>> 
>>> yep, I tried it again:
>>> 
>>> /usr/local/lib/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.cpp:512:20:
>>> error: non-constant-expression cannot
>>>      be narrowed from type 'int' to 'char' in initializer list
>>> [-Wc++11-narrowing]
>>>                        char temp[2] = {'0' + (char)digit, '\0'};
>>>                                        ^~~~~~~~~~~~~~~~~
>>> /usr/local/lib/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.cpp:512:20:
>>> note: insert an explicit cast to
>>>      silence this issue
>>>                        char temp[2] = {'0' + (char)digit, '\0'};
>>>                                        ^~~~~~~~~~~~~~~~~
>>>                                        static_cast( )
>>> 1 error generated.
>>> 
>>> 
>>> it needs some SDK surgery. Or maybe a compiler switch.
>>> ========================
>>> Prof. Victor Lazzarini
>>> Dean of Arts, Celtic Studies, and Philosophy,
>>> Maynooth University,
>>> Maynooth, Co Kildare, Ireland
>>> Tel: 00 353 7086936
>>> Fax: 00 353 1 7086952
>>> 
>>>> On 26 Apr 2017, at 19:02, Victor Lazzarini 
>>>> wrote:
>>>> 
>>>> Well, I might be wrong, but I remember adding -std=c++11 to cmake and
>>>> making VST4cs fail to build with
>>>> a complaint about an SDK header.
>>>> 
>>>> ========================
>>>> Prof. Victor Lazzarini
>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>> Maynooth University,
>>>> Maynooth, Co Kildare, Ireland
>>>> Tel: 00 353 7086936
>>>> Fax: 00 353 1 7086952
>>>> 
>>>>> On 26 Apr 2017, at 18:52, Rory Walsh  wrote:
>>>>> 
>>>>> That's odd, I've been building Cabbage with c++11 for quite some time
>>>>> without any problems, and it use the VST 2.4 SDK?
>>>>> 
>>>>> On 26 April 2017 at 18:40, Victor Lazzarini 
>>>>> wrote:
>>>>> The problem is not with our code, but with the SDK.
>>>>> ========================
>>>>> Prof. Victor Lazzarini
>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>> Maynooth University,
>>>>> Maynooth, Co Kildare, Ireland
>>>>> Tel: 00 353 7086936
>>>>> Fax: 00 353 1 7086952
>>>>> 
>>>>>> On 26 Apr 2017, at 18:34, Michael Gogins 
>>>>>> wrote:
>>>>>> 
>>>>>> I agree that we should move to uniformly requiring at least C++11. If
>>>>>> the VST host opcodes are a problem, I will fix them.
>>>>>> 
>>>>>> Best,
>>>>>> Mike
>>>>>> 
>>>>>> -----------------------------------------------------
>>>>>> Michael Gogins
>>>>>> Irreducible Productions
>>>>>> http://michaelgogins.tumblr.com
>>>>>> Michael dot Gogins at gmail dot com
>>>>>> 
>>>>>> 
>>>>>> On Wed, Apr 26, 2017 at 1:25 PM, Victor Lazzarini
>>>>>>  wrote:
>>>>>>> Some older GCCs (e.g. the one that comes in Debian Jessie) do not
>>>>>>> have full c++11 support, but I think most
>>>>>>> linuxes now come with the newer gccs (> 6.0 I guess). In raspbian
>>>>>>> jessie, I had to do get a newer compiler
>>>>>>> package (can’t remember which exactly). It can be a pain sometimes,
>>>>>>> but I think we should roll out the code for
>>>>>>> c++11.
>>>>>>> 
>>>>>>> ========================
>>>>>>> Prof. Victor Lazzarini
>>>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>>>> Maynooth University,
>>>>>>> Maynooth, Co Kildare, Ireland
>>>>>>> Tel: 00 353 7086936
>>>>>>> Fax: 00 353 1 7086952
>>>>>>> 
>>>>>>>> On 26 Apr 2017, at 18:11, Steven Yi  wrote:
>>>>>>>> 
>>>>>>>> Thanks Michael for the update!  I think C++11 makes sense. We'll
>>>>>>>> just
>>>>>>>> have to be sure to test on all of the compilers we use. I think
>>>>>>>> we'll
>>>>>>>> be fine for Visual Studio (I found this link for VS2015, but not one
>>>>>>>> yet for VS2017, but C++11 looks well covered even in VS2015:
>>>>>>>> https://msdn.microsoft.com/en-us/library/hh567368.aspx).  I think
>>>>>>>> the
>>>>>>>> only other compilers that are used are GCC and Clang and they should
>>>>>>>> both be fine on all of the platforms.  (Assuming Emscripten/Clang is
>>>>>>>> fine.)  We'll just have to be sure to explicitly set C++11 for all
>>>>>>>> of
>>>>>>>> our platforms.
>>>>>>>> 
>>>>>>>> On Wed, Apr 26, 2017 at 12:23 PM, Rory Walsh 
>>>>>>>> wrote:
>>>>>>>>> I agree.
>>>>>>>>> 
>>>>>>>>> On 26 April 2017 at 17:12, Victor Lazzarini
>>>>>>>>> 
>>>>>>>>> wrote:
>>>>>>>>>> 
>>>>>>>>>> I think it makes sense to move to c++11 for the whole codebase,
>>>>>>>>>> after all
>>>>>>>>>> it’s 2017. The only issue might be VST,
>>>>>>>>>> which appears to have problems with it (I noticed when trying to
>>>>>>>>>> compile
>>>>>>>>>> the VST host opcodes).
>>>>>>>>>> ========================
>>>>>>>>>> Prof. Victor Lazzarini
>>>>>>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>>>>>>> Maynooth University,
>>>>>>>>>> Maynooth, Co Kildare, Ireland
>>>>>>>>>> Tel: 00 353 7086936
>>>>>>>>>> Fax: 00 353 1 7086952
>>>>>>>>>> 
>>>>>>>>>>> On 26 Apr 2017, at 17:08, Michael Gogins
>>>>>>>>>>> 
>>>>>>>>>>> wrote:
>>>>>>>>>>> 
>>>>>>>>>>> I've created issues in GitHub for removing the Boost dependency
>>>>>>>>>>> from
>>>>>>>>>>> the Csound interfaces, from CsoundVST, and from CsoundAC.
>>>>>>>>>>> 
>>>>>>>>>>> I have pushed the fixes for the Csound interfaces and for
>>>>>>>>>>> CsoundVST,
>>>>>>>>>>> but not tested them, which I will do later today.
>>>>>>>>>>> 
>>>>>>>>>>> It turns out I had already replaced boost::numeric::ublas with
>>>>>>>>>>> eigen3
>>>>>>>>>>> in CsoundAC. It remains to replace Boost formatting and random
>>>>>>>>>>> distributions. I am working on that now and expect it to be
>>>>>>>>>>> straightforward, but the C++ requirement will move to -std=c++11.
>>>>>>>>>>> It
>>>>>>>>>>> looks like the Boost random distributions more or less went into
>>>>>>>>>>> C++11.
>>>>>>>>>>> 
>>>>>>>>>>> Best,
>>>>>>>>>>> Mike
>>>>>>>>>>> 
>>>>>>>>>>> -----------------------------------------------------
>>>>>>>>>>> Michael Gogins
>>>>>>>>>>> Irreducible Productions
>>>>>>>>>>> http://michaelgogins.tumblr.com
>>>>>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> On Tue, Apr 25, 2017 at 7:52 PM, Steven Yi 
>>>>>>>>>>> wrote:
>>>>>>>>>>>> Thanks Michael!
>>>>>>>>>>>> 
>>>>>>>>>>>> I do think eigen3 is fine as a dependency.  It works at least
>>>>>>>>>>>> with
>>>>>>>>>>>> vcpkg as far as I can tell.  We'll have to test again once boost
>>>>>>>>>>>> is
>>>>>>>>>>>> off the list of dependencies as it sort of just killed the whole
>>>>>>>>>>>> build
>>>>>>>>>>>> and I'm not sure we have any data yet on how long it takes to
>>>>>>>>>>>> build
>>>>>>>>>>>> without boost.  (Stephen may have a better idea of it all
>>>>>>>>>>>> though.)
>>>>>>>>>>>> 
>>>>>>>>>>>> On Tue, Apr 25, 2017 at 6:35 PM, Michael Gogins
>>>>>>>>>>>>  wrote:
>>>>>>>>>>>>> I will take care of this. I would also like to remove the boost
>>>>>>>>>>>>> dependency from CsoundAC etc, not sure how hard that is. The
>>>>>>>>>>>>> dependencies regarding matrix arithmetic would be replaced by
>>>>>>>>>>>>> Eigen
>>>>>>>>>>>>> (eigen3), can Appveyor deal with that?
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Best,
>>>>>>>>>>>>> Mike
>>>>>>>>>>>>> 
>>>>>>>>>>>>> -----------------------------------------------------
>>>>>>>>>>>>> Michael Gogins
>>>>>>>>>>>>> Irreducible Productions
>>>>>>>>>>>>> http://michaelgogins.tumblr.com
>>>>>>>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> On Tue, Apr 25, 2017 at 5:09 PM, Steven Yi 
>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>> Hi All,
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> I've been working with Stephen Kyne on getting the Visual
>>>>>>>>>>>>>> Studio
>>>>>>>>>>>>>> build
>>>>>>>>>>>>>> to run on Appveyor (a continuous integration system like
>>>>>>>>>>>>>> Travis).
>>>>>>>>>>>>>> We're getting stuck because downloading and building Boost
>>>>>>>>>>>>>> takes a
>>>>>>>>>>>>>> long time and thus the build times out.  As far as I can see,
>>>>>>>>>>>>>> we seem
>>>>>>>>>>>>>> to have a dependency on Boost in just a few places:
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 1. interfaces/CsoundFile.cpp
>>>>>>>>>>>>>> 2. CsoundAC
>>>>>>>>>>>>>> 3. CsoundVST
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> I think for now our best bet to get a continuous Windows build
>>>>>>>>>>>>>> with
>>>>>>>>>>>>>> Appveyor going is to remove the dependency on Boost from
>>>>>>>>>>>>>> interfaces/CsoundFile.cpp and just not build
>>>>>>>>>>>>>> CsoundAC/CsoundVST.
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> For CsoundFile.cpp, there's just one use of boost:
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> // TODO: Replace boost throughout interfaces.
>>>>>>>>>>>>>> #if !defined(__ANDROID__)
>>>>>>>>>>>>>> boost::split(args, buffer, boost::is_any_of(" \t\n\r"),
>>>>>>>>>>>>>> boost::token_compress_on);
>>>>>>>>>>>>>> #endif
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> Could someone (Michael perhaps? I'm guessing this might be
>>>>>>>>>>>>>> code of
>>>>>>>>>>>>>> yours?) take a look and perhaps find a way to get rid of using
>>>>>>>>>>>>>> Boost
>>>>>>>>>>>>>> here?
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> Thanks!
>>>>>>>>>>>>>> steven
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>> 
>>>>> 
>>>>> 
>

Date2017-04-26 20:21
FromVictor Lazzarini
SubjectRe: [Csnd-dev] Removing boost from CsoundFile.cpp
-Wno-c++11-narrowing does it.
========================
Prof. Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952 

> On 26 Apr 2017, at 20:08, Victor Lazzarini  wrote:
> 
> yes, I assume there is something like that. Or -Wno-c++11-narrowing.
> ========================
> Prof. Victor Lazzarini
> Dean of Arts, Celtic Studies, and Philosophy,
> Maynooth University,
> Maynooth, Co Kildare, Ireland
> Tel: 00 353 7086936
> Fax: 00 353 1 7086952 
> 
>> On 26 Apr 2017, at 20:05, Michael Gogins  wrote:
>> 
>> There may be a pragma to turn off -Wc++11-narrowing.
>> 
>> Best,
>> Mike
>> 
>> -----------------------------------------------------
>> Michael Gogins
>> Irreducible Productions
>> http://michaelgogins.tumblr.com
>> Michael dot Gogins at gmail dot com
>> 
>> 
>> On Wed, Apr 26, 2017 at 2:33 PM, Rory Walsh  wrote:
>>> I'm not sure how JUCE does it but I am sure It doesn't modify the VST SDK.
>>> 
>>> On 26 April 2017 at 19:14, Victor Lazzarini 
>>> wrote:
>>>> 
>>>> yep, I tried it again:
>>>> 
>>>> /usr/local/lib/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.cpp:512:20:
>>>> error: non-constant-expression cannot
>>>>     be narrowed from type 'int' to 'char' in initializer list
>>>> [-Wc++11-narrowing]
>>>>                       char temp[2] = {'0' + (char)digit, '\0'};
>>>>                                       ^~~~~~~~~~~~~~~~~
>>>> /usr/local/lib/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.cpp:512:20:
>>>> note: insert an explicit cast to
>>>>     silence this issue
>>>>                       char temp[2] = {'0' + (char)digit, '\0'};
>>>>                                       ^~~~~~~~~~~~~~~~~
>>>>                                       static_cast( )
>>>> 1 error generated.
>>>> 
>>>> 
>>>> it needs some SDK surgery. Or maybe a compiler switch.
>>>> ========================
>>>> Prof. Victor Lazzarini
>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>> Maynooth University,
>>>> Maynooth, Co Kildare, Ireland
>>>> Tel: 00 353 7086936
>>>> Fax: 00 353 1 7086952
>>>> 
>>>>> On 26 Apr 2017, at 19:02, Victor Lazzarini 
>>>>> wrote:
>>>>> 
>>>>> Well, I might be wrong, but I remember adding -std=c++11 to cmake and
>>>>> making VST4cs fail to build with
>>>>> a complaint about an SDK header.
>>>>> 
>>>>> ========================
>>>>> Prof. Victor Lazzarini
>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>> Maynooth University,
>>>>> Maynooth, Co Kildare, Ireland
>>>>> Tel: 00 353 7086936
>>>>> Fax: 00 353 1 7086952
>>>>> 
>>>>>> On 26 Apr 2017, at 18:52, Rory Walsh  wrote:
>>>>>> 
>>>>>> That's odd, I've been building Cabbage with c++11 for quite some time
>>>>>> without any problems, and it use the VST 2.4 SDK?
>>>>>> 
>>>>>> On 26 April 2017 at 18:40, Victor Lazzarini 
>>>>>> wrote:
>>>>>> The problem is not with our code, but with the SDK.
>>>>>> ========================
>>>>>> Prof. Victor Lazzarini
>>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>>> Maynooth University,
>>>>>> Maynooth, Co Kildare, Ireland
>>>>>> Tel: 00 353 7086936
>>>>>> Fax: 00 353 1 7086952
>>>>>> 
>>>>>>> On 26 Apr 2017, at 18:34, Michael Gogins 
>>>>>>> wrote:
>>>>>>> 
>>>>>>> I agree that we should move to uniformly requiring at least C++11. If
>>>>>>> the VST host opcodes are a problem, I will fix them.
>>>>>>> 
>>>>>>> Best,
>>>>>>> Mike
>>>>>>> 
>>>>>>> -----------------------------------------------------
>>>>>>> Michael Gogins
>>>>>>> Irreducible Productions
>>>>>>> http://michaelgogins.tumblr.com
>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>> 
>>>>>>> 
>>>>>>> On Wed, Apr 26, 2017 at 1:25 PM, Victor Lazzarini
>>>>>>>  wrote:
>>>>>>>> Some older GCCs (e.g. the one that comes in Debian Jessie) do not
>>>>>>>> have full c++11 support, but I think most
>>>>>>>> linuxes now come with the newer gccs (> 6.0 I guess). In raspbian
>>>>>>>> jessie, I had to do get a newer compiler
>>>>>>>> package (can’t remember which exactly). It can be a pain sometimes,
>>>>>>>> but I think we should roll out the code for
>>>>>>>> c++11.
>>>>>>>> 
>>>>>>>> ========================
>>>>>>>> Prof. Victor Lazzarini
>>>>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>>>>> Maynooth University,
>>>>>>>> Maynooth, Co Kildare, Ireland
>>>>>>>> Tel: 00 353 7086936
>>>>>>>> Fax: 00 353 1 7086952
>>>>>>>> 
>>>>>>>>> On 26 Apr 2017, at 18:11, Steven Yi  wrote:
>>>>>>>>> 
>>>>>>>>> Thanks Michael for the update!  I think C++11 makes sense. We'll
>>>>>>>>> just
>>>>>>>>> have to be sure to test on all of the compilers we use. I think
>>>>>>>>> we'll
>>>>>>>>> be fine for Visual Studio (I found this link for VS2015, but not one
>>>>>>>>> yet for VS2017, but C++11 looks well covered even in VS2015:
>>>>>>>>> https://msdn.microsoft.com/en-us/library/hh567368.aspx).  I think
>>>>>>>>> the
>>>>>>>>> only other compilers that are used are GCC and Clang and they should
>>>>>>>>> both be fine on all of the platforms.  (Assuming Emscripten/Clang is
>>>>>>>>> fine.)  We'll just have to be sure to explicitly set C++11 for all
>>>>>>>>> of
>>>>>>>>> our platforms.
>>>>>>>>> 
>>>>>>>>> On Wed, Apr 26, 2017 at 12:23 PM, Rory Walsh 
>>>>>>>>> wrote:
>>>>>>>>>> I agree.
>>>>>>>>>> 
>>>>>>>>>> On 26 April 2017 at 17:12, Victor Lazzarini
>>>>>>>>>> 
>>>>>>>>>> wrote:
>>>>>>>>>>> 
>>>>>>>>>>> I think it makes sense to move to c++11 for the whole codebase,
>>>>>>>>>>> after all
>>>>>>>>>>> it’s 2017. The only issue might be VST,
>>>>>>>>>>> which appears to have problems with it (I noticed when trying to
>>>>>>>>>>> compile
>>>>>>>>>>> the VST host opcodes).
>>>>>>>>>>> ========================
>>>>>>>>>>> Prof. Victor Lazzarini
>>>>>>>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>>>>>>>> Maynooth University,
>>>>>>>>>>> Maynooth, Co Kildare, Ireland
>>>>>>>>>>> Tel: 00 353 7086936
>>>>>>>>>>> Fax: 00 353 1 7086952
>>>>>>>>>>> 
>>>>>>>>>>>> On 26 Apr 2017, at 17:08, Michael Gogins
>>>>>>>>>>>> 
>>>>>>>>>>>> wrote:
>>>>>>>>>>>> 
>>>>>>>>>>>> I've created issues in GitHub for removing the Boost dependency
>>>>>>>>>>>> from
>>>>>>>>>>>> the Csound interfaces, from CsoundVST, and from CsoundAC.
>>>>>>>>>>>> 
>>>>>>>>>>>> I have pushed the fixes for the Csound interfaces and for
>>>>>>>>>>>> CsoundVST,
>>>>>>>>>>>> but not tested them, which I will do later today.
>>>>>>>>>>>> 
>>>>>>>>>>>> It turns out I had already replaced boost::numeric::ublas with
>>>>>>>>>>>> eigen3
>>>>>>>>>>>> in CsoundAC. It remains to replace Boost formatting and random
>>>>>>>>>>>> distributions. I am working on that now and expect it to be
>>>>>>>>>>>> straightforward, but the C++ requirement will move to -std=c++11.
>>>>>>>>>>>> It
>>>>>>>>>>>> looks like the Boost random distributions more or less went into
>>>>>>>>>>>> C++11.
>>>>>>>>>>>> 
>>>>>>>>>>>> Best,
>>>>>>>>>>>> Mike
>>>>>>>>>>>> 
>>>>>>>>>>>> -----------------------------------------------------
>>>>>>>>>>>> Michael Gogins
>>>>>>>>>>>> Irreducible Productions
>>>>>>>>>>>> http://michaelgogins.tumblr.com
>>>>>>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> On Tue, Apr 25, 2017 at 7:52 PM, Steven Yi 
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>> Thanks Michael!
>>>>>>>>>>>>> 
>>>>>>>>>>>>> I do think eigen3 is fine as a dependency.  It works at least
>>>>>>>>>>>>> with
>>>>>>>>>>>>> vcpkg as far as I can tell.  We'll have to test again once boost
>>>>>>>>>>>>> is
>>>>>>>>>>>>> off the list of dependencies as it sort of just killed the whole
>>>>>>>>>>>>> build
>>>>>>>>>>>>> and I'm not sure we have any data yet on how long it takes to
>>>>>>>>>>>>> build
>>>>>>>>>>>>> without boost.  (Stephen may have a better idea of it all
>>>>>>>>>>>>> though.)
>>>>>>>>>>>>> 
>>>>>>>>>>>>> On Tue, Apr 25, 2017 at 6:35 PM, Michael Gogins
>>>>>>>>>>>>>  wrote:
>>>>>>>>>>>>>> I will take care of this. I would also like to remove the boost
>>>>>>>>>>>>>> dependency from CsoundAC etc, not sure how hard that is. The
>>>>>>>>>>>>>> dependencies regarding matrix arithmetic would be replaced by
>>>>>>>>>>>>>> Eigen
>>>>>>>>>>>>>> (eigen3), can Appveyor deal with that?
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> Best,
>>>>>>>>>>>>>> Mike
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> -----------------------------------------------------
>>>>>>>>>>>>>> Michael Gogins
>>>>>>>>>>>>>> Irreducible Productions
>>>>>>>>>>>>>> http://michaelgogins.tumblr.com
>>>>>>>>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> On Tue, Apr 25, 2017 at 5:09 PM, Steven Yi 
>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>> Hi All,
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> I've been working with Stephen Kyne on getting the Visual
>>>>>>>>>>>>>>> Studio
>>>>>>>>>>>>>>> build
>>>>>>>>>>>>>>> to run on Appveyor (a continuous integration system like
>>>>>>>>>>>>>>> Travis).
>>>>>>>>>>>>>>> We're getting stuck because downloading and building Boost
>>>>>>>>>>>>>>> takes a
>>>>>>>>>>>>>>> long time and thus the build times out.  As far as I can see,
>>>>>>>>>>>>>>> we seem
>>>>>>>>>>>>>>> to have a dependency on Boost in just a few places:
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> 1. interfaces/CsoundFile.cpp
>>>>>>>>>>>>>>> 2. CsoundAC
>>>>>>>>>>>>>>> 3. CsoundVST
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> I think for now our best bet to get a continuous Windows build
>>>>>>>>>>>>>>> with
>>>>>>>>>>>>>>> Appveyor going is to remove the dependency on Boost from
>>>>>>>>>>>>>>> interfaces/CsoundFile.cpp and just not build
>>>>>>>>>>>>>>> CsoundAC/CsoundVST.
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> For CsoundFile.cpp, there's just one use of boost:
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> // TODO: Replace boost throughout interfaces.
>>>>>>>>>>>>>>> #if !defined(__ANDROID__)
>>>>>>>>>>>>>>> boost::split(args, buffer, boost::is_any_of(" \t\n\r"),
>>>>>>>>>>>>>>> boost::token_compress_on);
>>>>>>>>>>>>>>> #endif
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> Could someone (Michael perhaps? I'm guessing this might be
>>>>>>>>>>>>>>> code of
>>>>>>>>>>>>>>> yours?) take a look and perhaps find a way to get rid of using
>>>>>>>>>>>>>>> Boost
>>>>>>>>>>>>>>> here?
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> Thanks!
>>>>>>>>>>>>>>> steven
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>> 
>>>>>> 

Date2017-04-27 10:17
FromStephen Kyne
SubjectRe: [Csnd-dev] Removing boost from CsoundFile.cpp

Hi all,


Thanks to the boost removal, the build time was greatly reduced. It's now building on appveyor in about 30 minutes. Once I get the caching working it should be quicker from then on. The appveyor.yml config file should be almost complete at this stage, it's even packaging all binaries to a zip file which is available as an artifact to download.


I'd like to get the csound installer for windows working next and have that produced as the artifact. Not sure the work involved there but we would have an end to end automation then. From there we can just add new features/opcodes to the build and maintain some stability.


Also for the VST SDK, the latest version seems backwards compatible with VST2. It might be worth moving to support both if it was deemed beneficial. I'd assume it at least supports C++ 11/14. 


Thanks,
Stephen


From: Csound-developers <CSOUND-DEV@LISTSERV.HEANET.IE> on behalf of Victor Lazzarini <Victor.Lazzarini@NUIM.IE>
Sent: 26 April 2017 20:21
To: CSOUND-DEV@LISTSERV.HEANET.IE
Subject: Re: [Csnd-dev] Removing boost from CsoundFile.cpp
 
-Wno-c++11-narrowing does it.
========================
Prof. Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952

> On 26 Apr 2017, at 20:08, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:
>
> yes, I assume there is something like that. Or -Wno-c++11-narrowing.
> ========================
> Prof. Victor Lazzarini
> Dean of Arts, Celtic Studies, and Philosophy,
> Maynooth University,
> Maynooth, Co Kildare, Ireland
> Tel: 00 353 7086936
> Fax: 00 353 1 7086952
>
>> On 26 Apr 2017, at 20:05, Michael Gogins <michael.gogins@GMAIL.COM> wrote:
>>
>> There may be a pragma to turn off -Wc++11-narrowing.
>>
>> Best,
>> Mike
>>
>> -----------------------------------------------------
>> Michael Gogins
>> Irreducible Productions
>> http://michaelgogins.tumblr.com


>> Michael dot Gogins at gmail dot com
>>
>>
>> On Wed, Apr 26, 2017 at 2:33 PM, Rory Walsh <rorywalsh@ear.ie> wrote:
>>> I'm not sure how JUCE does it but I am sure It doesn't modify the VST SDK.
>>>
>>> On 26 April 2017 at 19:14, Victor Lazzarini <Victor.Lazzarini@nuim.ie>
>>> wrote:
>>>>
>>>> yep, I tried it again:
>>>>
>>>> /usr/local/lib/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.cpp:512:20:
>>>> error: non-constant-expression cannot
>>>>     be narrowed from type 'int' to 'char' in initializer list
>>>> [-Wc++11-narrowing]
>>>>                       char temp[2] = {'0' + (char)digit, '\0'};
>>>>                                       ^~~~~~~~~~~~~~~~~
>>>> /usr/local/lib/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.cpp:512:20:
>>>> note: insert an explicit cast to
>>>>     silence this issue
>>>>                       char temp[2] = {'0' + (char)digit, '\0'};
>>>>                                       ^~~~~~~~~~~~~~~~~
>>>>                                       static_cast<char>( )
>>>> 1 error generated.
>>>>
>>>>
>>>> it needs some SDK surgery. Or maybe a compiler switch.
>>>> ========================
>>>> Prof. Victor Lazzarini
>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>> Maynooth University,
>>>> Maynooth, Co Kildare, Ireland
>>>> Tel: 00 353 7086936
>>>> Fax: 00 353 1 7086952
>>>>
>>>>> On 26 Apr 2017, at 19:02, Victor Lazzarini <Victor.Lazzarini@NUIM.IE>
>>>>> wrote:
>>>>>
>>>>> Well, I might be wrong, but I remember adding -std=c++11 to cmake and
>>>>> making VST4cs fail to build with
>>>>> a complaint about an SDK header.
>>>>>
>>>>> ========================
>>>>> Prof. Victor Lazzarini
>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>> Maynooth University,
>>>>> Maynooth, Co Kildare, Ireland
>>>>> Tel: 00 353 7086936
>>>>> Fax: 00 353 1 7086952
>>>>>
>>>>>> On 26 Apr 2017, at 18:52, Rory Walsh <rorywalsh@ear.ie> wrote:
>>>>>>
>>>>>> That's odd, I've been building Cabbage with c++11 for quite some time
>>>>>> without any problems, and it use the VST 2.4 SDK?
>>>>>>
>>>>>> On 26 April 2017 at 18:40, Victor Lazzarini <Victor.Lazzarini@nuim.ie>
>>>>>> wrote:
>>>>>> The problem is not with our code, but with the SDK.
>>>>>> ========================
>>>>>> Prof. Victor Lazzarini
>>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>>> Maynooth University,
>>>>>> Maynooth, Co Kildare, Ireland
>>>>>> Tel: 00 353 7086936
>>>>>> Fax: 00 353 1 7086952
>>>>>>
>>>>>>> On 26 Apr 2017, at 18:34, Michael Gogins <michael.gogins@GMAIL.COM>
>>>>>>> wrote:
>>>>>>>
>>>>>>> I agree that we should move to uniformly requiring at least C++11. If
>>>>>>> the VST host opcodes are a problem, I will fix them.
>>>>>>>
>>>>>>> Best,
>>>>>>> Mike
>>>>>>>
>>>>>>> -----------------------------------------------------
>>>>>>> Michael Gogins
>>>>>>> Irreducible Productions
>>>>>>> http://michaelgogins.tumblr.com


>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Apr 26, 2017 at 1:25 PM, Victor Lazzarini
>>>>>>> <Victor.Lazzarini@nuim.ie> wrote:
>>>>>>>> Some older GCCs (e.g. the one that comes in Debian Jessie) do not
>>>>>>>> have full c++11 support, but I think most
>>>>>>>> linuxes now come with the newer gccs (> 6.0 I guess). In raspbian
>>>>>>>> jessie, I had to do get a newer compiler
>>>>>>>> package (can’t remember which exactly). It can be a pain sometimes,
>>>>>>>> but I think we should roll out the code for
>>>>>>>> c++11.
>>>>>>>>
>>>>>>>> ========================
>>>>>>>> Prof. Victor Lazzarini
>>>>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>>>>> Maynooth University,
>>>>>>>> Maynooth, Co Kildare, Ireland
>>>>>>>> Tel: 00 353 7086936
>>>>>>>> Fax: 00 353 1 7086952
>>>>>>>>
>>>>>>>>> On 26 Apr 2017, at 18:11, Steven Yi <stevenyi@gmail.com> wrote:
>>>>>>>>>
>>>>>>>>> Thanks Michael for the update!  I think C++11 makes sense. We'll
>>>>>>>>> just
>>>>>>>>> have to be sure to test on all of the compilers we use. I think
>>>>>>>>> we'll
>>>>>>>>> be fine for Visual Studio (I found this link for VS2015, but not one
>>>>>>>>> yet for VS2017, but C++11 looks well covered even in VS2015:
>>>>>>>>> https://msdn.microsoft.com/en-us/library/hh567368.aspx).  I think


>>>>>>>>> the
>>>>>>>>> only other compilers that are used are GCC and Clang and they should
>>>>>>>>> both be fine on all of the platforms.  (Assuming Emscripten/Clang is
>>>>>>>>> fine.)  We'll just have to be sure to explicitly set C++11 for all
>>>>>>>>> of
>>>>>>>>> our platforms.
>>>>>>>>>
>>>>>>>>> On Wed, Apr 26, 2017 at 12:23 PM, Rory Walsh <rorywalsh@ear.ie>
>>>>>>>>> wrote:
>>>>>>>>>> I agree.
>>>>>>>>>>
>>>>>>>>>> On 26 April 2017 at 17:12, Victor Lazzarini
>>>>>>>>>> <Victor.Lazzarini@nuim.ie>
>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>> I think it makes sense to move to c++11 for the whole codebase,
>>>>>>>>>>> after all
>>>>>>>>>>> it’s 2017. The only issue might be VST,
>>>>>>>>>>> which appears to have problems with it (I noticed when trying to
>>>>>>>>>>> compile
>>>>>>>>>>> the VST host opcodes).
>>>>>>>>>>> ========================
>>>>>>>>>>> Prof. Victor Lazzarini
>>>>>>>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>>>>>>>> Maynooth University,
>>>>>>>>>>> Maynooth, Co Kildare, Ireland
>>>>>>>>>>> Tel: 00 353 7086936
>>>>>>>>>>> Fax: 00 353 1 7086952
>>>>>>>>>>>
>>>>>>>>>>>> On 26 Apr 2017, at 17:08, Michael Gogins
>>>>>>>>>>>> <michael.gogins@gmail.com>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> I've created issues in GitHub for removing the Boost dependency
>>>>>>>>>>>> from
>>>>>>>>>>>> the Csound interfaces, from CsoundVST, and from CsoundAC.
>>>>>>>>>>>>
>>>>>>>>>>>> I have pushed the fixes for the Csound interfaces and for
>>>>>>>>>>>> CsoundVST,
>>>>>>>>>>>> but not tested them, which I will do later today.
>>>>>>>>>>>>
>>>>>>>>>>>> It turns out I had already replaced boost::numeric::ublas with
>>>>>>>>>>>> eigen3
>>>>>>>>>>>> in CsoundAC. It remains to replace Boost formatting and random
>>>>>>>>>>>> distributions. I am working on that now and expect it to be
>>>>>>>>>>>> straightforward, but the C++ requirement will move to -std=c++11.
>>>>>>>>>>>> It
>>>>>>>>>>>> looks like the Boost random distributions more or less went into
>>>>>>>>>>>> C++11.
>>>>>>>>>>>>
>>>>>>>>>>>> Best,
>>>>>>>>>>>> Mike
>>>>>>>>>>>>
>>>>>>>>>>>> -----------------------------------------------------
>>>>>>>>>>>> Michael Gogins
>>>>>>>>>>>> Irreducible Productions
>>>>>>>>>>>> http://michaelgogins.tumblr.com


>>>>>>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Tue, Apr 25, 2017 at 7:52 PM, Steven Yi <stevenyi@gmail.com>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>> Thanks Michael!
>>>>>>>>>>>>>
>>>>>>>>>>>>> I do think eigen3 is fine as a dependency.  It works at least
>>>>>>>>>>>>> with
>>>>>>>>>>>>> vcpkg as far as I can tell.  We'll have to test again once boost
>>>>>>>>>>>>> is
>>>>>>>>>>>>> off the list of dependencies as it sort of just killed the whole
>>>>>>>>>>>>> build
>>>>>>>>>>>>> and I'm not sure we have any data yet on how long it takes to
>>>>>>>>>>>>> build
>>>>>>>>>>>>> without boost.  (Stephen may have a better idea of it all
>>>>>>>>>>>>> though.)
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Tue, Apr 25, 2017 at 6:35 PM, Michael Gogins
>>>>>>>>>>>>> <michael.gogins@gmail.com> wrote:
>>>>>>>>>>>>>> I will take care of this. I would also like to remove the boost
>>>>>>>>>>>>>> dependency from CsoundAC etc, not sure how hard that is. The
>>>>>>>>>>>>>> dependencies regarding matrix arithmetic would be replaced by
>>>>>>>>>>>>>> Eigen
>>>>>>>>>>>>>> (eigen3), can Appveyor deal with that?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Best,
>>>>>>>>>>>>>> Mike
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> -----------------------------------------------------
>>>>>>>>>>>>>> Michael Gogins
>>>>>>>>>>>>>> Irreducible Productions
>>>>>>>>>>>>>> http://michaelgogins.tumblr.com


>>>>>>>>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Tue, Apr 25, 2017 at 5:09 PM, Steven Yi <stevenyi@gmail.com>
>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>> Hi All,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I've been working with Stephen Kyne on getting the Visual
>>>>>>>>>>>>>>> Studio
>>>>>>>>>>>>>>> build
>>>>>>>>>>>>>>> to run on Appveyor (a continuous integration system like
>>>>>>>>>>>>>>> Travis).
>>>>>>>>>>>>>>> We're getting stuck because downloading and building Boost
>>>>>>>>>>>>>>> takes a
>>>>>>>>>>>>>>> long time and thus the build times out.  As far as I can see,
>>>>>>>>>>>>>>> we seem
>>>>>>>>>>>>>>> to have a dependency on Boost in just a few places:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> 1. interfaces/CsoundFile.cpp
>>>>>>>>>>>>>>> 2. CsoundAC
>>>>>>>>>>>>>>> 3. CsoundVST
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I think for now our best bet to get a continuous Windows build
>>>>>>>>>>>>>>> with
>>>>>>>>>>>>>>> Appveyor going is to remove the dependency on Boost from
>>>>>>>>>>>>>>> interfaces/CsoundFile.cpp and just not build
>>>>>>>>>>>>>>> CsoundAC/CsoundVST.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> For CsoundFile.cpp, there's just one use of boost:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> // TODO: Replace boost throughout interfaces.
>>>>>>>>>>>>>>> #if !defined(__ANDROID__)
>>>>>>>>>>>>>>> boost::split(args, buffer, boost::is_any_of(" \t\n\r"),
>>>>>>>>>>>>>>> boost::token_compress_on);
>>>>>>>>>>>>>>> #endif
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Could someone (Michael perhaps? I'm guessing this might be
>>>>>>>>>>>>>>> code of
>>>>>>>>>>>>>>> yours?) take a look and perhaps find a way to get rid of using
>>>>>>>>>>>>>>> Boost
>>>>>>>>>>>>>>> here?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks!
>>>>>>>>>>>>>>> steven
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>


Date2017-04-27 11:39
FromRory Walsh
SubjectRe: [Csnd-dev] Removing boost from CsoundFile.cpp
This is great. An automated installer too! Wow. This is really great.

On 27 April 2017 at 10:17, Stephen Kyne <stevek@outlook.ie> wrote:

Hi all,


Thanks to the boost removal, the build time was greatly reduced. It's now building on appveyor in about 30 minutes. Once I get the caching working it should be quicker from then on. The appveyor.yml config file should be almost complete at this stage, it's even packaging all binaries to a zip file which is available as an artifact to download.


I'd like to get the csound installer for windows working next and have that produced as the artifact. Not sure the work involved there but we would have an end to end automation then. From there we can just add new features/opcodes to the build and maintain some stability.


Also for the VST SDK, the latest version seems backwards compatible with VST2. It might be worth moving to support both if it was deemed beneficial. I'd assume it at least supports C++ 11/14. 


Thanks,
Stephen


From: Csound-developers <CSOUND-DEV@LISTSERV.HEANET.IE> on behalf of Victor Lazzarini <Victor.Lazzarini@NUIM.IE>
Sent: 26 April 2017 20:21
To: CSOUND-DEV@LISTSERV.HEANET.IE
Subject: Re: [Csnd-dev] Removing boost from CsoundFile.cpp
 
-Wno-c++11-narrowing does it.
========================
Prof. Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952

> On 26 Apr 2017, at 20:08, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:
>
> yes, I assume there is something like that. Or -Wno-c++11-narrowing.
> ========================
> Prof. Victor Lazzarini
> Dean of Arts, Celtic Studies, and Philosophy,
> Maynooth University,
> Maynooth, Co Kildare, Ireland
> Tel: 00 353 7086936
> Fax: 00 353 1 7086952
>
>> On 26 Apr 2017, at 20:05, Michael Gogins <michael.gogins@GMAIL.COM> wrote:
>>
>> There may be a pragma to turn off -Wc++11-narrowing.
>>
>> Best,
>> Mike
>>
>> -----------------------------------------------------
>> Michael Gogins
>> Irreducible Productions
>> http://michaelgogins.tumblr.com
Computer music, photography, some poetry and fiction, and something more or less like theology or philosophy of religion


>> Michael dot Gogins at gmail dot com
>>
>>
>> On Wed, Apr 26, 2017 at 2:33 PM, Rory Walsh <rorywalsh@ear.ie> wrote:
>>> I'm not sure how JUCE does it but I am sure It doesn't modify the VST SDK.
>>>
>>> On 26 April 2017 at 19:14, Victor Lazzarini <Victor.Lazzarini@nuim.ie>
>>> wrote:
>>>>
>>>> yep, I tried it again:
>>>>
>>>> /usr/local/lib/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.cpp:512:20:
>>>> error: non-constant-expression cannot
>>>>     be narrowed from type 'int' to 'char' in initializer list
>>>> [-Wc++11-narrowing]
>>>>                       char temp[2] = {'0' + (char)digit, '\0'};
>>>>                                       ^~~~~~~~~~~~~~~~~
>>>> /usr/local/lib/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.cpp:512:20:
>>>> note: insert an explicit cast to
>>>>     silence this issue
>>>>                       char temp[2] = {'0' + (char)digit, '\0'};
>>>>                                       ^~~~~~~~~~~~~~~~~
>>>>                                       static_cast<char>( )
>>>> 1 error generated.
>>>>
>>>>
>>>> it needs some SDK surgery. Or maybe a compiler switch.
>>>> ========================
>>>> Prof. Victor Lazzarini
>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>> Maynooth University,
>>>> Maynooth, Co Kildare, Ireland
>>>> Tel: 00 353 7086936
>>>> Fax: 00 353 1 7086952
>>>>
>>>>> On 26 Apr 2017, at 19:02, Victor Lazzarini <Victor.Lazzarini@NUIM.IE>
>>>>> wrote:
>>>>>
>>>>> Well, I might be wrong, but I remember adding -std=c++11 to cmake and
>>>>> making VST4cs fail to build with
>>>>> a complaint about an SDK header.
>>>>>
>>>>> ========================
>>>>> Prof. Victor Lazzarini
>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>> Maynooth University,
>>>>> Maynooth, Co Kildare, Ireland
>>>>> Tel: 00 353 7086936
>>>>> Fax: 00 353 1 7086952
>>>>>
>>>>>> On 26 Apr 2017, at 18:52, Rory Walsh <rorywalsh@ear.ie> wrote:
>>>>>>
>>>>>> That's odd, I've been building Cabbage with c++11 for quite some time
>>>>>> without any problems, and it use the VST 2.4 SDK?
>>>>>>
>>>>>> On 26 April 2017 at 18:40, Victor Lazzarini <Victor.Lazzarini@nuim.ie>
>>>>>> wrote:
>>>>>> The problem is not with our code, but with the SDK.
>>>>>> ========================
>>>>>> Prof. Victor Lazzarini
>>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>>> Maynooth University,
>>>>>> Maynooth, Co Kildare, Ireland
>>>>>> Tel: 00 353 7086936
>>>>>> Fax: 00 353 1 7086952
>>>>>>
>>>>>>> On 26 Apr 2017, at 18:34, Michael Gogins <michael.gogins@GMAIL.COM>
>>>>>>> wrote:
>>>>>>>
>>>>>>> I agree that we should move to uniformly requiring at least C++11. If
>>>>>>> the VST host opcodes are a problem, I will fix them.
>>>>>>>
>>>>>>> Best,
>>>>>>> Mike
>>>>>>>
>>>>>>> -----------------------------------------------------
>>>>>>> Michael Gogins
>>>>>>> Irreducible Productions
>>>>>>> http://michaelgogins.tumblr.com
Computer music, photography, some poetry and fiction, and something more or less like theology or philosophy of religion


>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Apr 26, 2017 at 1:25 PM, Victor Lazzarini
>>>>>>> <Victor.Lazzarini@nuim.ie> wrote:
>>>>>>>> Some older GCCs (e.g. the one that comes in Debian Jessie) do not
>>>>>>>> have full c++11 support, but I think most
>>>>>>>> linuxes now come with the newer gccs (> 6.0 I guess). In raspbian
>>>>>>>> jessie, I had to do get a newer compiler
>>>>>>>> package (can’t remember which exactly). It can be a pain sometimes,
>>>>>>>> but I think we should roll out the code for
>>>>>>>> c++11.
>>>>>>>>
>>>>>>>> ========================
>>>>>>>> Prof. Victor Lazzarini
>>>>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>>>>> Maynooth University,
>>>>>>>> Maynooth, Co Kildare, Ireland
>>>>>>>> Tel: 00 353 7086936
>>>>>>>> Fax: 00 353 1 7086952
>>>>>>>>
>>>>>>>>> On 26 Apr 2017, at 18:11, Steven Yi <stevenyi@gmail.com> wrote:
>>>>>>>>>
>>>>>>>>> Thanks Michael for the update!  I think C++11 makes sense. We'll
>>>>>>>>> just
>>>>>>>>> have to be sure to test on all of the compilers we use. I think
>>>>>>>>> we'll
>>>>>>>>> be fine for Visual Studio (I found this link for VS2015, but not one
>>>>>>>>> yet for VS2017, but C++11 looks well covered even in VS2015:
>>>>>>>>> https://msdn.microsoft.com/en-us/library/hh567368.aspx).  I think
Visual C++ implements the vast majority of features in the C++11 core language specification, as well as many C++14 Library features and some features proposed for C++17.


>>>>>>>>> the
>>>>>>>>> only other compilers that are used are GCC and Clang and they should
>>>>>>>>> both be fine on all of the platforms.  (Assuming Emscripten/Clang is
>>>>>>>>> fine.)  We'll just have to be sure to explicitly set C++11 for all
>>>>>>>>> of
>>>>>>>>> our platforms.
>>>>>>>>>
>>>>>>>>> On Wed, Apr 26, 2017 at 12:23 PM, Rory Walsh <rorywalsh@ear.ie>
>>>>>>>>> wrote:
>>>>>>>>>> I agree.
>>>>>>>>>>
>>>>>>>>>> On 26 April 2017 at 17:12, Victor Lazzarini
>>>>>>>>>> <Victor.Lazzarini@nuim.ie>
>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>> I think it makes sense to move to c++11 for the whole codebase,
>>>>>>>>>>> after all
>>>>>>>>>>> it’s 2017. The only issue might be VST,
>>>>>>>>>>> which appears to have problems with it (I noticed when trying to
>>>>>>>>>>> compile
>>>>>>>>>>> the VST host opcodes).
>>>>>>>>>>> ========================
>>>>>>>>>>> Prof. Victor Lazzarini
>>>>>>>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>>>>>>>> Maynooth University,
>>>>>>>>>>> Maynooth, Co Kildare, Ireland
>>>>>>>>>>> Tel: 00 353 7086936
>>>>>>>>>>> Fax: 00 353 1 7086952
>>>>>>>>>>>
>>>>>>>>>>>> On 26 Apr 2017, at 17:08, Michael Gogins
>>>>>>>>>>>> <michael.gogins@gmail.com>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> I've created issues in GitHub for removing the Boost dependency
>>>>>>>>>>>> from
>>>>>>>>>>>> the Csound interfaces, from CsoundVST, and from CsoundAC.
>>>>>>>>>>>>
>>>>>>>>>>>> I have pushed the fixes for the Csound interfaces and for
>>>>>>>>>>>> CsoundVST,
>>>>>>>>>>>> but not tested them, which I will do later today.
>>>>>>>>>>>>
>>>>>>>>>>>> It turns out I had already replaced boost::numeric::ublas with
>>>>>>>>>>>> eigen3
>>>>>>>>>>>> in CsoundAC. It remains to replace Boost formatting and random
>>>>>>>>>>>> distributions. I am working on that now and expect it to be
>>>>>>>>>>>> straightforward, but the C++ requirement will move to -std=c++11.
>>>>>>>>>>>> It
>>>>>>>>>>>> looks like the Boost random distributions more or less went into
>>>>>>>>>>>> C++11.
>>>>>>>>>>>>
>>>>>>>>>>>> Best,
>>>>>>>>>>>> Mike
>>>>>>>>>>>>
>>>>>>>>>>>> -----------------------------------------------------
>>>>>>>>>>>> Michael Gogins
>>>>>>>>>>>> Irreducible Productions
>>>>>>>>>>>> http://michaelgogins.tumblr.com
Computer music, photography, some poetry and fiction, and something more or less like theology or philosophy of religion


>>>>>>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Tue, Apr 25, 2017 at 7:52 PM, Steven Yi <stevenyi@gmail.com>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>> Thanks Michael!
>>>>>>>>>>>>>
>>>>>>>>>>>>> I do think eigen3 is fine as a dependency.  It works at least
>>>>>>>>>>>>> with
>>>>>>>>>>>>> vcpkg as far as I can tell.  We'll have to test again once boost
>>>>>>>>>>>>> is
>>>>>>>>>>>>> off the list of dependencies as it sort of just killed the whole
>>>>>>>>>>>>> build
>>>>>>>>>>>>> and I'm not sure we have any data yet on how long it takes to
>>>>>>>>>>>>> build
>>>>>>>>>>>>> without boost.  (Stephen may have a better idea of it all
>>>>>>>>>>>>> though.)
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Tue, Apr 25, 2017 at 6:35 PM, Michael Gogins
>>>>>>>>>>>>> <michael.gogins@gmail.com> wrote:
>>>>>>>>>>>>>> I will take care of this. I would also like to remove the boost
>>>>>>>>>>>>>> dependency from CsoundAC etc, not sure how hard that is. The
>>>>>>>>>>>>>> dependencies regarding matrix arithmetic would be replaced by
>>>>>>>>>>>>>> Eigen
>>>>>>>>>>>>>> (eigen3), can Appveyor deal with that?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Best,
>>>>>>>>>>>>>> Mike
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> -----------------------------------------------------
>>>>>>>>>>>>>> Michael Gogins
>>>>>>>>>>>>>> Irreducible Productions
>>>>>>>>>>>>>> http://michaelgogins.tumblr.com
Computer music, photography, some poetry and fiction, and something more or less like theology or philosophy of religion


>>>>>>>>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Tue, Apr 25, 2017 at 5:09 PM, Steven Yi <stevenyi@gmail.com>
>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>> Hi All,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I've been working with Stephen Kyne on getting the Visual
>>>>>>>>>>>>>>> Studio
>>>>>>>>>>>>>>> build
>>>>>>>>>>>>>>> to run on Appveyor (a continuous integration system like
>>>>>>>>>>>>>>> Travis).
>>>>>>>>>>>>>>> We're getting stuck because downloading and building Boost
>>>>>>>>>>>>>>> takes a
>>>>>>>>>>>>>>> long time and thus the build times out.  As far as I can see,
>>>>>>>>>>>>>>> we seem
>>>>>>>>>>>>>>> to have a dependency on Boost in just a few places:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> 1. interfaces/CsoundFile.cpp
>>>>>>>>>>>>>>> 2. CsoundAC
>>>>>>>>>>>>>>> 3. CsoundVST
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I think for now our best bet to get a continuous Windows build
>>>>>>>>>>>>>>> with
>>>>>>>>>>>>>>> Appveyor going is to remove the dependency on Boost from
>>>>>>>>>>>>>>> interfaces/CsoundFile.cpp and just not build
>>>>>>>>>>>>>>> CsoundAC/CsoundVST.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> For CsoundFile.cpp, there's just one use of boost:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> // TODO: Replace boost throughout interfaces.
>>>>>>>>>>>>>>> #if !defined(__ANDROID__)
>>>>>>>>>>>>>>> boost::split(args, buffer, boost::is_any_of(" \t\n\r"),
>>>>>>>>>>>>>>> boost::token_compress_on);
>>>>>>>>>>>>>>> #endif
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Could someone (Michael perhaps? I'm guessing this might be
>>>>>>>>>>>>>>> code of
>>>>>>>>>>>>>>> yours?) take a look and perhaps find a way to get rid of using
>>>>>>>>>>>>>>> Boost
>>>>>>>>>>>>>>> here?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks!
>>>>>>>>>>>>>>> steven
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>



Date2017-04-27 11:45
FromRory Walsh
SubjectRe: [Csnd-dev] Removing boost from CsoundFile.cpp
I realise I used the word great twice in the previous mail. But I am very chuffed about being able to work exclusively with Visual Studio on Windows. MYSY2 was a great leap forwards from mingw, but this is the icing on the cake.

On 27 April 2017 at 11:39, Rory Walsh <rorywalsh@ear.ie> wrote:
This is great. An automated installer too! Wow. This is really great.

On 27 April 2017 at 10:17, Stephen Kyne <stevek@outlook.ie> wrote:

Hi all,


Thanks to the boost removal, the build time was greatly reduced. It's now building on appveyor in about 30 minutes. Once I get the caching working it should be quicker from then on. The appveyor.yml config file should be almost complete at this stage, it's even packaging all binaries to a zip file which is available as an artifact to download.


I'd like to get the csound installer for windows working next and have that produced as the artifact. Not sure the work involved there but we would have an end to end automation then. From there we can just add new features/opcodes to the build and maintain some stability.


Also for the VST SDK, the latest version seems backwards compatible with VST2. It might be worth moving to support both if it was deemed beneficial. I'd assume it at least supports C++ 11/14. 


Thanks,
Stephen


From: Csound-developers <CSOUND-DEV@LISTSERV.HEANET.IE> on behalf of Victor Lazzarini <Victor.Lazzarini@NUIM.IE>
Sent: 26 April 2017 20:21
To: CSOUND-DEV@LISTSERV.HEANET.IE
Subject: Re: [Csnd-dev] Removing boost from CsoundFile.cpp
 
-Wno-c++11-narrowing does it.
========================
Prof. Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952

> On 26 Apr 2017, at 20:08, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:
>
> yes, I assume there is something like that. Or -Wno-c++11-narrowing.
> ========================
> Prof. Victor Lazzarini
> Dean of Arts, Celtic Studies, and Philosophy,
> Maynooth University,
> Maynooth, Co Kildare, Ireland
> Tel: 00 353 7086936
> Fax: 00 353 1 7086952
>
>> On 26 Apr 2017, at 20:05, Michael Gogins <michael.gogins@GMAIL.COM> wrote:
>>
>> There may be a pragma to turn off -Wc++11-narrowing.
>>
>> Best,
>> Mike
>>
>> -----------------------------------------------------
>> Michael Gogins
>> Irreducible Productions
>> http://michaelgogins.tumblr.com
Computer music, photography, some poetry and fiction, and something more or less like theology or philosophy of religion


>> Michael dot Gogins at gmail dot com
>>
>>
>> On Wed, Apr 26, 2017 at 2:33 PM, Rory Walsh <rorywalsh@ear.ie> wrote:
>>> I'm not sure how JUCE does it but I am sure It doesn't modify the VST SDK.
>>>
>>> On 26 April 2017 at 19:14, Victor Lazzarini <Victor.Lazzarini@nuim.ie>
>>> wrote:
>>>>
>>>> yep, I tried it again:
>>>>
>>>> /usr/local/lib/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.cpp:512:20:
>>>> error: non-constant-expression cannot
>>>>     be narrowed from type 'int' to 'char' in initializer list
>>>> [-Wc++11-narrowing]
>>>>                       char temp[2] = {'0' + (char)digit, '\0'};
>>>>                                       ^~~~~~~~~~~~~~~~~
>>>> /usr/local/lib/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.cpp:512:20:
>>>> note: insert an explicit cast to
>>>>     silence this issue
>>>>                       char temp[2] = {'0' + (char)digit, '\0'};
>>>>                                       ^~~~~~~~~~~~~~~~~
>>>>                                       static_cast<char>( )
>>>> 1 error generated.
>>>>
>>>>
>>>> it needs some SDK surgery. Or maybe a compiler switch.
>>>> ========================
>>>> Prof. Victor Lazzarini
>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>> Maynooth University,
>>>> Maynooth, Co Kildare, Ireland
>>>> Tel: 00 353 7086936
>>>> Fax: 00 353 1 7086952
>>>>
>>>>> On 26 Apr 2017, at 19:02, Victor Lazzarini <Victor.Lazzarini@NUIM.IE>
>>>>> wrote:
>>>>>
>>>>> Well, I might be wrong, but I remember adding -std=c++11 to cmake and
>>>>> making VST4cs fail to build with
>>>>> a complaint about an SDK header.
>>>>>
>>>>> ========================
>>>>> Prof. Victor Lazzarini
>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>> Maynooth University,
>>>>> Maynooth, Co Kildare, Ireland
>>>>> Tel: 00 353 7086936
>>>>> Fax: 00 353 1 7086952
>>>>>
>>>>>> On 26 Apr 2017, at 18:52, Rory Walsh <rorywalsh@ear.ie> wrote:
>>>>>>
>>>>>> That's odd, I've been building Cabbage with c++11 for quite some time
>>>>>> without any problems, and it use the VST 2.4 SDK?
>>>>>>
>>>>>> On 26 April 2017 at 18:40, Victor Lazzarini <Victor.Lazzarini@nuim.ie>
>>>>>> wrote:
>>>>>> The problem is not with our code, but with the SDK.
>>>>>> ========================
>>>>>> Prof. Victor Lazzarini
>>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>>> Maynooth University,
>>>>>> Maynooth, Co Kildare, Ireland
>>>>>> Tel: 00 353 7086936
>>>>>> Fax: 00 353 1 7086952
>>>>>>
>>>>>>> On 26 Apr 2017, at 18:34, Michael Gogins <michael.gogins@GMAIL.COM>
>>>>>>> wrote:
>>>>>>>
>>>>>>> I agree that we should move to uniformly requiring at least C++11. If
>>>>>>> the VST host opcodes are a problem, I will fix them.
>>>>>>>
>>>>>>> Best,
>>>>>>> Mike
>>>>>>>
>>>>>>> -----------------------------------------------------
>>>>>>> Michael Gogins
>>>>>>> Irreducible Productions
>>>>>>> http://michaelgogins.tumblr.com
Computer music, photography, some poetry and fiction, and something more or less like theology or philosophy of religion


>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Apr 26, 2017 at 1:25 PM, Victor Lazzarini
>>>>>>> <Victor.Lazzarini@nuim.ie> wrote:
>>>>>>>> Some older GCCs (e.g. the one that comes in Debian Jessie) do not
>>>>>>>> have full c++11 support, but I think most
>>>>>>>> linuxes now come with the newer gccs (> 6.0 I guess). In raspbian
>>>>>>>> jessie, I had to do get a newer compiler
>>>>>>>> package (can’t remember which exactly). It can be a pain sometimes,
>>>>>>>> but I think we should roll out the code for
>>>>>>>> c++11.
>>>>>>>>
>>>>>>>> ========================
>>>>>>>> Prof. Victor Lazzarini
>>>>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>>>>> Maynooth University,
>>>>>>>> Maynooth, Co Kildare, Ireland
>>>>>>>> Tel: 00 353 7086936
>>>>>>>> Fax: 00 353 1 7086952
>>>>>>>>
>>>>>>>>> On 26 Apr 2017, at 18:11, Steven Yi <stevenyi@gmail.com> wrote:
>>>>>>>>>
>>>>>>>>> Thanks Michael for the update!  I think C++11 makes sense. We'll
>>>>>>>>> just
>>>>>>>>> have to be sure to test on all of the compilers we use. I think
>>>>>>>>> we'll
>>>>>>>>> be fine for Visual Studio (I found this link for VS2015, but not one
>>>>>>>>> yet for VS2017, but C++11 looks well covered even in VS2015:
>>>>>>>>> https://msdn.microsoft.com/en-us/library/hh567368.aspx).  I think
Visual C++ implements the vast majority of features in the C++11 core language specification, as well as many C++14 Library features and some features proposed for C++17.


>>>>>>>>> the
>>>>>>>>> only other compilers that are used are GCC and Clang and they should
>>>>>>>>> both be fine on all of the platforms.  (Assuming Emscripten/Clang is
>>>>>>>>> fine.)  We'll just have to be sure to explicitly set C++11 for all
>>>>>>>>> of
>>>>>>>>> our platforms.
>>>>>>>>>
>>>>>>>>> On Wed, Apr 26, 2017 at 12:23 PM, Rory Walsh <rorywalsh@ear.ie>
>>>>>>>>> wrote:
>>>>>>>>>> I agree.
>>>>>>>>>>
>>>>>>>>>> On 26 April 2017 at 17:12, Victor Lazzarini
>>>>>>>>>> <Victor.Lazzarini@nuim.ie>
>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>> I think it makes sense to move to c++11 for the whole codebase,
>>>>>>>>>>> after all
>>>>>>>>>>> it’s 2017. The only issue might be VST,
>>>>>>>>>>> which appears to have problems with it (I noticed when trying to
>>>>>>>>>>> compile
>>>>>>>>>>> the VST host opcodes).
>>>>>>>>>>> ========================
>>>>>>>>>>> Prof. Victor Lazzarini
>>>>>>>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>>>>>>>> Maynooth University,
>>>>>>>>>>> Maynooth, Co Kildare, Ireland
>>>>>>>>>>> Tel: 00 353 7086936
>>>>>>>>>>> Fax: 00 353 1 7086952
>>>>>>>>>>>
>>>>>>>>>>>> On 26 Apr 2017, at 17:08, Michael Gogins
>>>>>>>>>>>> <michael.gogins@gmail.com>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> I've created issues in GitHub for removing the Boost dependency
>>>>>>>>>>>> from
>>>>>>>>>>>> the Csound interfaces, from CsoundVST, and from CsoundAC.
>>>>>>>>>>>>
>>>>>>>>>>>> I have pushed the fixes for the Csound interfaces and for
>>>>>>>>>>>> CsoundVST,
>>>>>>>>>>>> but not tested them, which I will do later today.
>>>>>>>>>>>>
>>>>>>>>>>>> It turns out I had already replaced boost::numeric::ublas with
>>>>>>>>>>>> eigen3
>>>>>>>>>>>> in CsoundAC. It remains to replace Boost formatting and random
>>>>>>>>>>>> distributions. I am working on that now and expect it to be
>>>>>>>>>>>> straightforward, but the C++ requirement will move to -std=c++11.
>>>>>>>>>>>> It
>>>>>>>>>>>> looks like the Boost random distributions more or less went into
>>>>>>>>>>>> C++11.
>>>>>>>>>>>>
>>>>>>>>>>>> Best,
>>>>>>>>>>>> Mike
>>>>>>>>>>>>
>>>>>>>>>>>> -----------------------------------------------------
>>>>>>>>>>>> Michael Gogins
>>>>>>>>>>>> Irreducible Productions
>>>>>>>>>>>> http://michaelgogins.tumblr.com
Computer music, photography, some poetry and fiction, and something more or less like theology or philosophy of religion


>>>>>>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Tue, Apr 25, 2017 at 7:52 PM, Steven Yi <stevenyi@gmail.com>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>> Thanks Michael!
>>>>>>>>>>>>>
>>>>>>>>>>>>> I do think eigen3 is fine as a dependency.  It works at least
>>>>>>>>>>>>> with
>>>>>>>>>>>>> vcpkg as far as I can tell.  We'll have to test again once boost
>>>>>>>>>>>>> is
>>>>>>>>>>>>> off the list of dependencies as it sort of just killed the whole
>>>>>>>>>>>>> build
>>>>>>>>>>>>> and I'm not sure we have any data yet on how long it takes to
>>>>>>>>>>>>> build
>>>>>>>>>>>>> without boost.  (Stephen may have a better idea of it all
>>>>>>>>>>>>> though.)
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Tue, Apr 25, 2017 at 6:35 PM, Michael Gogins
>>>>>>>>>>>>> <michael.gogins@gmail.com> wrote:
>>>>>>>>>>>>>> I will take care of this. I would also like to remove the boost
>>>>>>>>>>>>>> dependency from CsoundAC etc, not sure how hard that is. The
>>>>>>>>>>>>>> dependencies regarding matrix arithmetic would be replaced by
>>>>>>>>>>>>>> Eigen
>>>>>>>>>>>>>> (eigen3), can Appveyor deal with that?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Best,
>>>>>>>>>>>>>> Mike
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> -----------------------------------------------------
>>>>>>>>>>>>>> Michael Gogins
>>>>>>>>>>>>>> Irreducible Productions
>>>>>>>>>>>>>> http://michaelgogins.tumblr.com
Computer music, photography, some poetry and fiction, and something more or less like theology or philosophy of religion


>>>>>>>>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Tue, Apr 25, 2017 at 5:09 PM, Steven Yi <stevenyi@gmail.com>
>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>> Hi All,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I've been working with Stephen Kyne on getting the Visual
>>>>>>>>>>>>>>> Studio
>>>>>>>>>>>>>>> build
>>>>>>>>>>>>>>> to run on Appveyor (a continuous integration system like
>>>>>>>>>>>>>>> Travis).
>>>>>>>>>>>>>>> We're getting stuck because downloading and building Boost
>>>>>>>>>>>>>>> takes a
>>>>>>>>>>>>>>> long time and thus the build times out.  As far as I can see,
>>>>>>>>>>>>>>> we seem
>>>>>>>>>>>>>>> to have a dependency on Boost in just a few places:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> 1. interfaces/CsoundFile.cpp
>>>>>>>>>>>>>>> 2. CsoundAC
>>>>>>>>>>>>>>> 3. CsoundVST
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I think for now our best bet to get a continuous Windows build
>>>>>>>>>>>>>>> with
>>>>>>>>>>>>>>> Appveyor going is to remove the dependency on Boost from
>>>>>>>>>>>>>>> interfaces/CsoundFile.cpp and just not build
>>>>>>>>>>>>>>> CsoundAC/CsoundVST.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> For CsoundFile.cpp, there's just one use of boost:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> // TODO: Replace boost throughout interfaces.
>>>>>>>>>>>>>>> #if !defined(__ANDROID__)
>>>>>>>>>>>>>>> boost::split(args, buffer, boost::is_any_of(" \t\n\r"),
>>>>>>>>>>>>>>> boost::token_compress_on);
>>>>>>>>>>>>>>> #endif
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Could someone (Michael perhaps? I'm guessing this might be
>>>>>>>>>>>>>>> code of
>>>>>>>>>>>>>>> yours?) take a look and perhaps find a way to get rid of using
>>>>>>>>>>>>>>> Boost
>>>>>>>>>>>>>>> here?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks!
>>>>>>>>>>>>>>> steven
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>




Date2017-04-27 13:20
FromVictor Lazzarini
SubjectRe: [Csnd-dev] Removing boost from CsoundFile.cpp
Great job.
30 mins seems a long time considering that the travis builds in about 4, including pulling and installing all dependencies in the process. I wonder why.

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

On 27 Apr 2017, at 10:17, Stephen Kyne <stevek@OUTLOOK.IE> wrote:

Hi all,


Thanks to the boost removal, the build time was greatly reduced. It's now building on appveyor in about 30 minutes. Once I get the caching working it should be quicker from then on. The appveyor.yml config file should be almost complete at this stage, it's even packaging all binaries to a zip file which is available as an artifact to download.


I'd like to get the csound installer for windows working next and have that produced as the artifact. Not sure the work involved there but we would have an end to end automation then. From there we can just add new features/opcodes to the build and maintain some stability.


Also for the VST SDK, the latest version seems backwards compatible with VST2. It might be worth moving to support both if it was deemed beneficial. I'd assume it at least supports C++ 11/14. 


Thanks,
Stephen


From: Csound-developers <CSOUND-DEV@LISTSERV.HEANET.IE> on behalf of Victor Lazzarini <Victor.Lazzarini@NUIM.IE>
Sent: 26 April 2017 20:21
To: CSOUND-DEV@LISTSERV.HEANET.IE
Subject: Re: [Csnd-dev] Removing boost from CsoundFile.cpp
 
-Wno-c++11-narrowing does it.
========================
Prof. Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952

> On 26 Apr 2017, at 20:08, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:
>
> yes, I assume there is something like that. Or -Wno-c++11-narrowing.
> ========================
> Prof. Victor Lazzarini
> Dean of Arts, Celtic Studies, and Philosophy,
> Maynooth University,
> Maynooth, Co Kildare, Ireland
> Tel: 00 353 7086936
> Fax: 00 353 1 7086952
>
>> On 26 Apr 2017, at 20:05, Michael Gogins <michael.gogins@GMAIL.COM> wrote:
>>
>> There may be a pragma to turn off -Wc++11-narrowing.
>>
>> Best,
>> Mike
>>
>> -----------------------------------------------------
>> Michael Gogins
>> Irreducible Productions
>> http://michaelgogins.tumblr.com


>> Michael dot Gogins at gmail dot com
>>
>>
>> On Wed, Apr 26, 2017 at 2:33 PM, Rory Walsh <rorywalsh@ear.ie> wrote:
>>> I'm not sure how JUCE does it but I am sure It doesn't modify the VST SDK.
>>>
>>> On 26 April 2017 at 19:14, Victor Lazzarini <Victor.Lazzarini@nuim.ie>
>>> wrote:
>>>>
>>>> yep, I tried it again:
>>>>
>>>> /usr/local/lib/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.cpp:512:20:
>>>> error: non-constant-expression cannot
>>>>     be narrowed from type 'int' to 'char' in initializer list
>>>> [-Wc++11-narrowing]
>>>>                       char temp[2] = {'0' + (char)digit, '\0'};
>>>>                                       ^~~~~~~~~~~~~~~~~
>>>> /usr/local/lib/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.cpp:512:20:
>>>> note: insert an explicit cast to
>>>>     silence this issue
>>>>                       char temp[2] = {'0' + (char)digit, '\0'};
>>>>                                       ^~~~~~~~~~~~~~~~~
>>>>                                       static_cast<char>( )
>>>> 1 error generated.
>>>>
>>>>
>>>> it needs some SDK surgery. Or maybe a compiler switch.
>>>> ========================
>>>> Prof. Victor Lazzarini
>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>> Maynooth University,
>>>> Maynooth, Co Kildare, Ireland
>>>> Tel: 00 353 7086936
>>>> Fax: 00 353 1 7086952
>>>>
>>>>> On 26 Apr 2017, at 19:02, Victor Lazzarini <Victor.Lazzarini@NUIM.IE>
>>>>> wrote:
>>>>>
>>>>> Well, I might be wrong, but I remember adding -std=c++11 to cmake and
>>>>> making VST4cs fail to build with
>>>>> a complaint about an SDK header.
>>>>>
>>>>> ========================
>>>>> Prof. Victor Lazzarini
>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>> Maynooth University,
>>>>> Maynooth, Co Kildare, Ireland
>>>>> Tel: 00 353 7086936
>>>>> Fax: 00 353 1 7086952
>>>>>
>>>>>> On 26 Apr 2017, at 18:52, Rory Walsh <rorywalsh@ear.ie> wrote:
>>>>>>
>>>>>> That's odd, I've been building Cabbage with c++11 for quite some time
>>>>>> without any problems, and it use the VST 2.4 SDK?
>>>>>>
>>>>>> On 26 April 2017 at 18:40, Victor Lazzarini <Victor.Lazzarini@nuim.ie>
>>>>>> wrote:
>>>>>> The problem is not with our code, but with the SDK.
>>>>>> ========================
>>>>>> Prof. Victor Lazzarini
>>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>>> Maynooth University,
>>>>>> Maynooth, Co Kildare, Ireland
>>>>>> Tel: 00 353 7086936
>>>>>> Fax: 00 353 1 7086952
>>>>>>
>>>>>>> On 26 Apr 2017, at 18:34, Michael Gogins <michael.gogins@GMAIL.COM>
>>>>>>> wrote:
>>>>>>>
>>>>>>> I agree that we should move to uniformly requiring at least C++11. If
>>>>>>> the VST host opcodes are a problem, I will fix them.
>>>>>>>
>>>>>>> Best,
>>>>>>> Mike
>>>>>>>
>>>>>>> -----------------------------------------------------
>>>>>>> Michael Gogins
>>>>>>> Irreducible Productions
>>>>>>> http://michaelgogins.tumblr.com


>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Apr 26, 2017 at 1:25 PM, Victor Lazzarini
>>>>>>> <Victor.Lazzarini@nuim.ie> wrote:
>>>>>>>> Some older GCCs (e.g. the one that comes in Debian Jessie) do not
>>>>>>>> have full c++11 support, but I think most
>>>>>>>> linuxes now come with the newer gccs (> 6.0 I guess). In raspbian
>>>>>>>> jessie, I had to do get a newer compiler
>>>>>>>> package (can’t remember which exactly). It can be a pain sometimes,
>>>>>>>> but I think we should roll out the code for
>>>>>>>> c++11.
>>>>>>>>
>>>>>>>> ========================
>>>>>>>> Prof. Victor Lazzarini
>>>>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>>>>> Maynooth University,
>>>>>>>> Maynooth, Co Kildare, Ireland
>>>>>>>> Tel: 00 353 7086936
>>>>>>>> Fax: 00 353 1 7086952
>>>>>>>>
>>>>>>>>> On 26 Apr 2017, at 18:11, Steven Yi <stevenyi@gmail.com> wrote:
>>>>>>>>>
>>>>>>>>> Thanks Michael for the update!  I think C++11 makes sense. We'll
>>>>>>>>> just
>>>>>>>>> have to be sure to test on all of the compilers we use. I think
>>>>>>>>> we'll
>>>>>>>>> be fine for Visual Studio (I found this link for VS2015, but not one
>>>>>>>>> yet for VS2017, but C++11 looks well covered even in VS2015:
>>>>>>>>> https://msdn.microsoft.com/en-us/library/hh567368.aspx).  I think


>>>>>>>>> the
>>>>>>>>> only other compilers that are used are GCC and Clang and they should
>>>>>>>>> both be fine on all of the platforms.  (Assuming Emscripten/Clang is
>>>>>>>>> fine.)  We'll just have to be sure to explicitly set C++11 for all
>>>>>>>>> of
>>>>>>>>> our platforms.
>>>>>>>>>
>>>>>>>>> On Wed, Apr 26, 2017 at 12:23 PM, Rory Walsh <rorywalsh@ear.ie>
>>>>>>>>> wrote:
>>>>>>>>>> I agree.
>>>>>>>>>>
>>>>>>>>>> On 26 April 2017 at 17:12, Victor Lazzarini
>>>>>>>>>> <Victor.Lazzarini@nuim.ie>
>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>> I think it makes sense to move to c++11 for the whole codebase,
>>>>>>>>>>> after all
>>>>>>>>>>> it’s 2017. The only issue might be VST,
>>>>>>>>>>> which appears to have problems with it (I noticed when trying to
>>>>>>>>>>> compile
>>>>>>>>>>> the VST host opcodes).
>>>>>>>>>>> ========================
>>>>>>>>>>> Prof. Victor Lazzarini
>>>>>>>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>>>>>>>> Maynooth University,
>>>>>>>>>>> Maynooth, Co Kildare, Ireland
>>>>>>>>>>> Tel: 00 353 7086936
>>>>>>>>>>> Fax: 00 353 1 7086952
>>>>>>>>>>>
>>>>>>>>>>>> On 26 Apr 2017, at 17:08, Michael Gogins
>>>>>>>>>>>> <michael.gogins@gmail.com>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> I've created issues in GitHub for removing the Boost dependency
>>>>>>>>>>>> from
>>>>>>>>>>>> the Csound interfaces, from CsoundVST, and from CsoundAC.
>>>>>>>>>>>>
>>>>>>>>>>>> I have pushed the fixes for the Csound interfaces and for
>>>>>>>>>>>> CsoundVST,
>>>>>>>>>>>> but not tested them, which I will do later today.
>>>>>>>>>>>>
>>>>>>>>>>>> It turns out I had already replaced boost::numeric::ublas with
>>>>>>>>>>>> eigen3
>>>>>>>>>>>> in CsoundAC. It remains to replace Boost formatting and random
>>>>>>>>>>>> distributions. I am working on that now and expect it to be
>>>>>>>>>>>> straightforward, but the C++ requirement will move to -std=c++11.
>>>>>>>>>>>> It
>>>>>>>>>>>> looks like the Boost random distributions more or less went into
>>>>>>>>>>>> C++11.
>>>>>>>>>>>>
>>>>>>>>>>>> Best,
>>>>>>>>>>>> Mike
>>>>>>>>>>>>
>>>>>>>>>>>> -----------------------------------------------------
>>>>>>>>>>>> Michael Gogins
>>>>>>>>>>>> Irreducible Productions
>>>>>>>>>>>> http://michaelgogins.tumblr.com


>>>>>>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Tue, Apr 25, 2017 at 7:52 PM, Steven Yi <stevenyi@gmail.com>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>> Thanks Michael!
>>>>>>>>>>>>>
>>>>>>>>>>>>> I do think eigen3 is fine as a dependency.  It works at least
>>>>>>>>>>>>> with
>>>>>>>>>>>>> vcpkg as far as I can tell.  We'll have to test again once boost
>>>>>>>>>>>>> is
>>>>>>>>>>>>> off the list of dependencies as it sort of just killed the whole
>>>>>>>>>>>>> build
>>>>>>>>>>>>> and I'm not sure we have any data yet on how long it takes to
>>>>>>>>>>>>> build
>>>>>>>>>>>>> without boost.  (Stephen may have a better idea of it all
>>>>>>>>>>>>> though.)
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Tue, Apr 25, 2017 at 6:35 PM, Michael Gogins
>>>>>>>>>>>>> <michael.gogins@gmail.com> wrote:
>>>>>>>>>>>>>> I will take care of this. I would also like to remove the boost
>>>>>>>>>>>>>> dependency from CsoundAC etc, not sure how hard that is. The
>>>>>>>>>>>>>> dependencies regarding matrix arithmetic would be replaced by
>>>>>>>>>>>>>> Eigen
>>>>>>>>>>>>>> (eigen3), can Appveyor deal with that?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Best,
>>>>>>>>>>>>>> Mike
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> -----------------------------------------------------
>>>>>>>>>>>>>> Michael Gogins
>>>>>>>>>>>>>> Irreducible Productions
>>>>>>>>>>>>>> http://michaelgogins.tumblr.com


>>>>>>>>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Tue, Apr 25, 2017 at 5:09 PM, Steven Yi <stevenyi@gmail.com>
>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>> Hi All,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I've been working with Stephen Kyne on getting the Visual
>>>>>>>>>>>>>>> Studio
>>>>>>>>>>>>>>> build
>>>>>>>>>>>>>>> to run on Appveyor (a continuous integration system like
>>>>>>>>>>>>>>> Travis).
>>>>>>>>>>>>>>> We're getting stuck because downloading and building Boost
>>>>>>>>>>>>>>> takes a
>>>>>>>>>>>>>>> long time and thus the build times out.  As far as I can see,
>>>>>>>>>>>>>>> we seem
>>>>>>>>>>>>>>> to have a dependency on Boost in just a few places:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> 1. interfaces/CsoundFile.cpp
>>>>>>>>>>>>>>> 2. CsoundAC
>>>>>>>>>>>>>>> 3. CsoundVST
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I think for now our best bet to get a continuous Windows build
>>>>>>>>>>>>>>> with
>>>>>>>>>>>>>>> Appveyor going is to remove the dependency on Boost from
>>>>>>>>>>>>>>> interfaces/CsoundFile.cpp and just not build
>>>>>>>>>>>>>>> CsoundAC/CsoundVST.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> For CsoundFile.cpp, there's just one use of boost:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> // TODO: Replace boost throughout interfaces.
>>>>>>>>>>>>>>> #if !defined(__ANDROID__)
>>>>>>>>>>>>>>> boost::split(args, buffer, boost::is_any_of(" \t\n\r"),
>>>>>>>>>>>>>>> boost::token_compress_on);
>>>>>>>>>>>>>>> #endif
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Could someone (Michael perhaps? I'm guessing this might be
>>>>>>>>>>>>>>> code of
>>>>>>>>>>>>>>> yours?) take a look and perhaps find a way to get rid of using
>>>>>>>>>>>>>>> Boost
>>>>>>>>>>>>>>> here?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks!
>>>>>>>>>>>>>>> steven
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>


Date2017-04-27 14:34
FromStephen Kyne
SubjectRe: [Csnd-dev] Removing boost from CsoundFile.cpp

Yeah agreed. It's all because of VCPKG. It downloads the source zip first, that can be 10-100 megs depending. Then it has to run cmake on each package and then build in release and debug mode. There is some file copying/packaging as well. It's mainly the builds though that are slow. The folder though itself grows massively due to all the build binaries and source files that are kept. I won't say it's the most efficient package manager...


Anyway, Appveyor have  a ticket raised to install the packages on their side so that projects can just use a system VCPKG rather than installing it locally for each build. Hopefully that will get introduced soon.


The csound VS build itself takes I'd say around the 4 minutes you mentioned.


Stephen


From: Csound-developers <CSOUND-DEV@LISTSERV.HEANET.IE> on behalf of Victor Lazzarini <Victor.Lazzarini@NUIM.IE>
Sent: 27 April 2017 13:20
To: CSOUND-DEV@LISTSERV.HEANET.IE
Subject: Re: [Csnd-dev] Removing boost from CsoundFile.cpp
 
Great job.
30 mins seems a long time considering that the travis builds in about 4, including pulling and installing all dependencies in the process. I wonder why.

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

On 27 Apr 2017, at 10:17, Stephen Kyne <stevek@OUTLOOK.IE> wrote:

Hi all,


Thanks to the boost removal, the build time was greatly reduced. It's now building on appveyor in about 30 minutes. Once I get the caching working it should be quicker from then on. The appveyor.yml config file should be almost complete at this stage, it's even packaging all binaries to a zip file which is available as an artifact to download.


I'd like to get the csound installer for windows working next and have that produced as the artifact. Not sure the work involved there but we would have an end to end automation then. From there we can just add new features/opcodes to the build and maintain some stability.


Also for the VST SDK, the latest version seems backwards compatible with VST2. It might be worth moving to support both if it was deemed beneficial. I'd assume it at least supports C++ 11/14. 


Thanks,
Stephen


From: Csound-developers <CSOUND-DEV@LISTSERV.HEANET.IE> on behalf of Victor Lazzarini <Victor.Lazzarini@NUIM.IE>
Sent: 26 April 2017 20:21
To: CSOUND-DEV@LISTSERV.HEANET.IE
Subject: Re: [Csnd-dev] Removing boost from CsoundFile.cpp
 
-Wno-c++11-narrowing does it.
========================
Prof. Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952

> On 26 Apr 2017, at 20:08, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:
>
> yes, I assume there is something like that. Or -Wno-c++11-narrowing.
> ========================
> Prof. Victor Lazzarini
> Dean of Arts, Celtic Studies, and Philosophy,
> Maynooth University,
> Maynooth, Co Kildare, Ireland
> Tel: 00 353 7086936
> Fax: 00 353 1 7086952
>
>> On 26 Apr 2017, at 20:05, Michael Gogins <michael.gogins@GMAIL.COM> wrote:
>>
>> There may be a pragma to turn off -Wc++11-narrowing.
>>
>> Best,
>> Mike
>>
>> -----------------------------------------------------
>> Michael Gogins
>> Irreducible Productions
>> http://michaelgogins.tumblr.com
Computer music, photography, some poetry and fiction, and something more or less like theology or philosophy of religion


>> Michael dot Gogins at gmail dot com
>>
>>
>> On Wed, Apr 26, 2017 at 2:33 PM, Rory Walsh <rorywalsh@ear.ie> wrote:
>>> I'm not sure how JUCE does it but I am sure It doesn't modify the VST SDK.
>>>
>>> On 26 April 2017 at 19:14, Victor Lazzarini <Victor.Lazzarini@nuim.ie>
>>> wrote:
>>>>
>>>> yep, I tried it again:
>>>>
>>>> /usr/local/lib/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.cpp:512:20:
>>>> error: non-constant-expression cannot
>>>>     be narrowed from type 'int' to 'char' in initializer list
>>>> [-Wc++11-narrowing]
>>>>                       char temp[2] = {'0' + (char)digit, '\0'};
>>>>                                       ^~~~~~~~~~~~~~~~~
>>>> /usr/local/lib/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.cpp:512:20:
>>>> note: insert an explicit cast to
>>>>     silence this issue
>>>>                       char temp[2] = {'0' + (char)digit, '\0'};
>>>>                                       ^~~~~~~~~~~~~~~~~
>>>>                                       static_cast<char>( )
>>>> 1 error generated.
>>>>
>>>>
>>>> it needs some SDK surgery. Or maybe a compiler switch.
>>>> ========================
>>>> Prof. Victor Lazzarini
>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>> Maynooth University,
>>>> Maynooth, Co Kildare, Ireland
>>>> Tel: 00 353 7086936
>>>> Fax: 00 353 1 7086952
>>>>
>>>>> On 26 Apr 2017, at 19:02, Victor Lazzarini <Victor.Lazzarini@NUIM.IE>
>>>>> wrote:
>>>>>
>>>>> Well, I might be wrong, but I remember adding -std=c++11 to cmake and
>>>>> making VST4cs fail to build with
>>>>> a complaint about an SDK header.
>>>>>
>>>>> ========================
>>>>> Prof. Victor Lazzarini
>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>> Maynooth University,
>>>>> Maynooth, Co Kildare, Ireland
>>>>> Tel: 00 353 7086936
>>>>> Fax: 00 353 1 7086952
>>>>>
>>>>>> On 26 Apr 2017, at 18:52, Rory Walsh <rorywalsh@ear.ie> wrote:
>>>>>>
>>>>>> That's odd, I've been building Cabbage with c++11 for quite some time
>>>>>> without any problems, and it use the VST 2.4 SDK?
>>>>>>
>>>>>> On 26 April 2017 at 18:40, Victor Lazzarini <Victor.Lazzarini@nuim.ie>
>>>>>> wrote:
>>>>>> The problem is not with our code, but with the SDK.
>>>>>> ========================
>>>>>> Prof. Victor Lazzarini
>>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>>> Maynooth University,
>>>>>> Maynooth, Co Kildare, Ireland
>>>>>> Tel: 00 353 7086936
>>>>>> Fax: 00 353 1 7086952
>>>>>>
>>>>>>> On 26 Apr 2017, at 18:34, Michael Gogins <michael.gogins@GMAIL.COM>
>>>>>>> wrote:
>>>>>>>
>>>>>>> I agree that we should move to uniformly requiring at least C++11. If
>>>>>>> the VST host opcodes are a problem, I will fix them.
>>>>>>>
>>>>>>> Best,
>>>>>>> Mike
>>>>>>>
>>>>>>> -----------------------------------------------------
>>>>>>> Michael Gogins
>>>>>>> Irreducible Productions
>>>>>>> http://michaelgogins.tumblr.com
Computer music, photography, some poetry and fiction, and something more or less like theology or philosophy of religion


>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Apr 26, 2017 at 1:25 PM, Victor Lazzarini
>>>>>>> <Victor.Lazzarini@nuim.ie> wrote:
>>>>>>>> Some older GCCs (e.g. the one that comes in Debian Jessie) do not
>>>>>>>> have full c++11 support, but I think most
>>>>>>>> linuxes now come with the newer gccs (> 6.0 I guess). In raspbian
>>>>>>>> jessie, I had to do get a newer compiler
>>>>>>>> package (can’t remember which exactly). It can be a pain sometimes,
>>>>>>>> but I think we should roll out the code for
>>>>>>>> c++11.
>>>>>>>>
>>>>>>>> ========================
>>>>>>>> Prof. Victor Lazzarini
>>>>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>>>>> Maynooth University,
>>>>>>>> Maynooth, Co Kildare, Ireland
>>>>>>>> Tel: 00 353 7086936
>>>>>>>> Fax: 00 353 1 7086952
>>>>>>>>
>>>>>>>>> On 26 Apr 2017, at 18:11, Steven Yi <stevenyi@gmail.com> wrote:
>>>>>>>>>
>>>>>>>>> Thanks Michael for the update!  I think C++11 makes sense. We'll
>>>>>>>>> just
>>>>>>>>> have to be sure to test on all of the compilers we use. I think
>>>>>>>>> we'll
>>>>>>>>> be fine for Visual Studio (I found this link for VS2015, but not one
>>>>>>>>> yet for VS2017, but C++11 looks well covered even in VS2015:
>>>>>>>>> https://msdn.microsoft.com/en-us/library/hh567368.aspx).  I think
Visual C++ implements the vast majority of features in the C++11 core language specification, as well as many C++14 Library features and some features proposed for C++17.


>>>>>>>>> the
>>>>>>>>> only other compilers that are used are GCC and Clang and they should
>>>>>>>>> both be fine on all of the platforms.  (Assuming Emscripten/Clang is
>>>>>>>>> fine.)  We'll just have to be sure to explicitly set C++11 for all
>>>>>>>>> of
>>>>>>>>> our platforms.
>>>>>>>>>
>>>>>>>>> On Wed, Apr 26, 2017 at 12:23 PM, Rory Walsh <rorywalsh@ear.ie>
>>>>>>>>> wrote:
>>>>>>>>>> I agree.
>>>>>>>>>>
>>>>>>>>>> On 26 April 2017 at 17:12, Victor Lazzarini
>>>>>>>>>> <Victor.Lazzarini@nuim.ie>
>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>> I think it makes sense to move to c++11 for the whole codebase,
>>>>>>>>>>> after all
>>>>>>>>>>> it’s 2017. The only issue might be VST,
>>>>>>>>>>> which appears to have problems with it (I noticed when trying to
>>>>>>>>>>> compile
>>>>>>>>>>> the VST host opcodes).
>>>>>>>>>>> ========================
>>>>>>>>>>> Prof. Victor Lazzarini
>>>>>>>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>>>>>>>> Maynooth University,
>>>>>>>>>>> Maynooth, Co Kildare, Ireland
>>>>>>>>>>> Tel: 00 353 7086936
>>>>>>>>>>> Fax: 00 353 1 7086952
>>>>>>>>>>>
>>>>>>>>>>>> On 26 Apr 2017, at 17:08, Michael Gogins
>>>>>>>>>>>> <michael.gogins@gmail.com>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> I've created issues in GitHub for removing the Boost dependency
>>>>>>>>>>>> from
>>>>>>>>>>>> the Csound interfaces, from CsoundVST, and from CsoundAC.
>>>>>>>>>>>>
>>>>>>>>>>>> I have pushed the fixes for the Csound interfaces and for
>>>>>>>>>>>> CsoundVST,
>>>>>>>>>>>> but not tested them, which I will do later today.
>>>>>>>>>>>>
>>>>>>>>>>>> It turns out I had already replaced boost::numeric::ublas with
>>>>>>>>>>>> eigen3
>>>>>>>>>>>> in CsoundAC. It remains to replace Boost formatting and random
>>>>>>>>>>>> distributions. I am working on that now and expect it to be
>>>>>>>>>>>> straightforward, but the C++ requirement will move to -std=c++11.
>>>>>>>>>>>> It
>>>>>>>>>>>> looks like the Boost random distributions more or less went into
>>>>>>>>>>>> C++11.
>>>>>>>>>>>>
>>>>>>>>>>>> Best,
>>>>>>>>>>>> Mike
>>>>>>>>>>>>
>>>>>>>>>>>> -----------------------------------------------------
>>>>>>>>>>>> Michael Gogins
>>>>>>>>>>>> Irreducible Productions
>>>>>>>>>>>> http://michaelgogins.tumblr.com
Computer music, photography, some poetry and fiction, and something more or less like theology or philosophy of religion


>>>>>>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Tue, Apr 25, 2017 at 7:52 PM, Steven Yi <stevenyi@gmail.com>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>> Thanks Michael!
>>>>>>>>>>>>>
>>>>>>>>>>>>> I do think eigen3 is fine as a dependency.  It works at least
>>>>>>>>>>>>> with
>>>>>>>>>>>>> vcpkg as far as I can tell.  We'll have to test again once boost
>>>>>>>>>>>>> is
>>>>>>>>>>>>> off the list of dependencies as it sort of just killed the whole
>>>>>>>>>>>>> build
>>>>>>>>>>>>> and I'm not sure we have any data yet on how long it takes to
>>>>>>>>>>>>> build
>>>>>>>>>>>>> without boost.  (Stephen may have a better idea of it all
>>>>>>>>>>>>> though.)
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Tue, Apr 25, 2017 at 6:35 PM, Michael Gogins
>>>>>>>>>>>>> <michael.gogins@gmail.com> wrote:
>>>>>>>>>>>>>> I will take care of this. I would also like to remove the boost
>>>>>>>>>>>>>> dependency from CsoundAC etc, not sure how hard that is. The
>>>>>>>>>>>>>> dependencies regarding matrix arithmetic would be replaced by
>>>>>>>>>>>>>> Eigen
>>>>>>>>>>>>>> (eigen3), can Appveyor deal with that?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Best,
>>>>>>>>>>>>>> Mike
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> -----------------------------------------------------
>>>>>>>>>>>>>> Michael Gogins
>>>>>>>>>>>>>> Irreducible Productions
>>>>>>>>>>>>>> http://michaelgogins.tumblr.com
Computer music, photography, some poetry and fiction, and something more or less like theology or philosophy of religion


>>>>>>>>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Tue, Apr 25, 2017 at 5:09 PM, Steven Yi <stevenyi@gmail.com>
>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>> Hi All,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I've been working with Stephen Kyne on getting the Visual
>>>>>>>>>>>>>>> Studio
>>>>>>>>>>>>>>> build
>>>>>>>>>>>>>>> to run on Appveyor (a continuous integration system like
>>>>>>>>>>>>>>> Travis).
>>>>>>>>>>>>>>> We're getting stuck because downloading and building Boost
>>>>>>>>>>>>>>> takes a
>>>>>>>>>>>>>>> long time and thus the build times out.  As far as I can see,
>>>>>>>>>>>>>>> we seem
>>>>>>>>>>>>>>> to have a dependency on Boost in just a few places:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> 1. interfaces/CsoundFile.cpp
>>>>>>>>>>>>>>> 2. CsoundAC
>>>>>>>>>>>>>>> 3. CsoundVST
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I think for now our best bet to get a continuous Windows build
>>>>>>>>>>>>>>> with
>>>>>>>>>>>>>>> Appveyor going is to remove the dependency on Boost from
>>>>>>>>>>>>>>> interfaces/CsoundFile.cpp and just not build
>>>>>>>>>>>>>>> CsoundAC/CsoundVST.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> For CsoundFile.cpp, there's just one use of boost:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> // TODO: Replace boost throughout interfaces.
>>>>>>>>>>>>>>> #if !defined(__ANDROID__)
>>>>>>>>>>>>>>> boost::split(args, buffer, boost::is_any_of(" \t\n\r"),
>>>>>>>>>>>>>>> boost::token_compress_on);
>>>>>>>>>>>>>>> #endif
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Could someone (Michael perhaps? I'm guessing this might be
>>>>>>>>>>>>>>> code of
>>>>>>>>>>>>>>> yours?) take a look and perhaps find a way to get rid of using
>>>>>>>>>>>>>>> Boost
>>>>>>>>>>>>>>> here?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks!
>>>>>>>>>>>>>>> steven
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>


Date2017-04-30 16:09
FromTarmo Johannes
SubjectRe: [Csnd-dev] Removing boost from CsoundFile.cpp
Hi,

Is it already possible to download the beta-installer from the system for testing?

Thanks!
Tarmo

27.04.2017 16:34 kirjutas kuupäeval "Stephen Kyne" <stevek@outlook.ie>:

Yeah agreed. It's all because of VCPKG. It downloads the source zip first, that can be 10-100 megs depending. Then it has to run cmake on each package and then build in release and debug mode. There is some file copying/packaging as well. It's mainly the builds though that are slow. The folder though itself grows massively due to all the build binaries and source files that are kept. I won't say it's the most efficient package manager...


Anyway, Appveyor have  a ticket raised to install the packages on their side so that projects can just use a system VCPKG rather than installing it locally for each build. Hopefully that will get introduced soon.


The csound VS build itself takes I'd say around the 4 minutes you mentioned.


Stephen


From: Csound-developers <CSOUND-DEV@LISTSERV.HEANET.IE> on behalf of Victor Lazzarini <Victor.Lazzarini@NUIM.IE>
Sent: 27 April 2017 13:20
To: CSOUND-DEV@LISTSERV.HEANET.IE
Subject: Re: [Csnd-dev] Removing boost from CsoundFile.cpp
 
Great job.
30 mins seems a long time considering that the travis builds in about 4, including pulling and installing all dependencies in the process. I wonder why.

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

On 27 Apr 2017, at 10:17, Stephen Kyne <stevek@OUTLOOK.IE> wrote:

Hi all,


Thanks to the boost removal, the build time was greatly reduced. It's now building on appveyor in about 30 minutes. Once I get the caching working it should be quicker from then on. The appveyor.yml config file should be almost complete at this stage, it's even packaging all binaries to a zip file which is available as an artifact to download.


I'd like to get the csound installer for windows working next and have that produced as the artifact. Not sure the work involved there but we would have an end to end automation then. From there we can just add new features/opcodes to the build and maintain some stability.


Also for the VST SDK, the latest version seems backwards compatible with VST2. It might be worth moving to support both if it was deemed beneficial. I'd assume it at least supports C++ 11/14. 


Thanks,
Stephen


From: Csound-developers <CSOUND-DEV@LISTSERV.HEANET.IE> on behalf of Victor Lazzarini <Victor.Lazzarini@NUIM.IE>
Sent: 26 April 2017 20:21
To: CSOUND-DEV@LISTSERV.HEANET.IE
Subject: Re: [Csnd-dev] Removing boost from CsoundFile.cpp
 
-Wno-c++11-narrowing does it.
========================
Prof. Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952

> On 26 Apr 2017, at 20:08, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:
>
> yes, I assume there is something like that. Or -Wno-c++11-narrowing.
> ========================
> Prof. Victor Lazzarini
> Dean of Arts, Celtic Studies, and Philosophy,
> Maynooth University,
> Maynooth, Co Kildare, Ireland
> Tel: 00 353 7086936
> Fax: 00 353 1 7086952
>
>> On 26 Apr 2017, at 20:05, Michael Gogins <michael.gogins@GMAIL.COM> wrote:
>>
>> There may be a pragma to turn off -Wc++11-narrowing.
>>
>> Best,
>> Mike
>>
>> -----------------------------------------------------
>> Michael Gogins
>> Irreducible Productions
>> http://michaelgogins.tumblr.com
Computer music, photography, some poetry and fiction, and something more or less like theology or philosophy of religion


>> Michael dot Gogins at gmail dot com
>>
>>
>> On Wed, Apr 26, 2017 at 2:33 PM, Rory Walsh <rorywalsh@ear.ie> wrote:
>>> I'm not sure how JUCE does it but I am sure It doesn't modify the VST SDK.
>>>
>>> On 26 April 2017 at 19:14, Victor Lazzarini <Victor.Lazzarini@nuim.ie>
>>> wrote:
>>>>
>>>> yep, I tried it again:
>>>>
>>>> /usr/local/lib/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.cpp:512:20:
>>>> error: non-constant-expression cannot
>>>>     be narrowed from type 'int' to 'char' in initializer list
>>>> [-Wc++11-narrowing]
>>>>                       char temp[2] = {'0' + (char)digit, '\0'};
>>>>                                       ^~~~~~~~~~~~~~~~~
>>>> /usr/local/lib/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.cpp:512:20:
>>>> note: insert an explicit cast to
>>>>     silence this issue
>>>>                       char temp[2] = {'0' + (char)digit, '\0'};
>>>>                                       ^~~~~~~~~~~~~~~~~
>>>>                                       static_cast<char>( )
>>>> 1 error generated.
>>>>
>>>>
>>>> it needs some SDK surgery. Or maybe a compiler switch.
>>>> ========================
>>>> Prof. Victor Lazzarini
>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>> Maynooth University,
>>>> Maynooth, Co Kildare, Ireland
>>>> Tel: 00 353 7086936
>>>> Fax: 00 353 1 7086952
>>>>
>>>>> On 26 Apr 2017, at 19:02, Victor Lazzarini <Victor.Lazzarini@NUIM.IE>
>>>>> wrote:
>>>>>
>>>>> Well, I might be wrong, but I remember adding -std=c++11 to cmake and
>>>>> making VST4cs fail to build with
>>>>> a complaint about an SDK header.
>>>>>
>>>>> ========================
>>>>> Prof. Victor Lazzarini
>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>> Maynooth University,
>>>>> Maynooth, Co Kildare, Ireland
>>>>> Tel: 00 353 7086936
>>>>> Fax: 00 353 1 7086952
>>>>>
>>>>>> On 26 Apr 2017, at 18:52, Rory Walsh <rorywalsh@ear.ie> wrote:
>>>>>>
>>>>>> That's odd, I've been building Cabbage with c++11 for quite some time
>>>>>> without any problems, and it use the VST 2.4 SDK?
>>>>>>
>>>>>> On 26 April 2017 at 18:40, Victor Lazzarini <Victor.Lazzarini@nuim.ie>
>>>>>> wrote:
>>>>>> The problem is not with our code, but with the SDK.
>>>>>> ========================
>>>>>> Prof. Victor Lazzarini
>>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>>> Maynooth University,
>>>>>> Maynooth, Co Kildare, Ireland
>>>>>> Tel: 00 353 7086936
>>>>>> Fax: 00 353 1 7086952
>>>>>>
>>>>>>> On 26 Apr 2017, at 18:34, Michael Gogins <michael.gogins@GMAIL.COM>
>>>>>>> wrote:
>>>>>>>
>>>>>>> I agree that we should move to uniformly requiring at least C++11. If
>>>>>>> the VST host opcodes are a problem, I will fix them.
>>>>>>>
>>>>>>> Best,
>>>>>>> Mike
>>>>>>>
>>>>>>> -----------------------------------------------------
>>>>>>> Michael Gogins
>>>>>>> Irreducible Productions
>>>>>>> http://michaelgogins.tumblr.com
Computer music, photography, some poetry and fiction, and something more or less like theology or philosophy of religion


>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Apr 26, 2017 at 1:25 PM, Victor Lazzarini
>>>>>>> <Victor.Lazzarini@nuim.ie> wrote:
>>>>>>>> Some older GCCs (e.g. the one that comes in Debian Jessie) do not
>>>>>>>> have full c++11 support, but I think most
>>>>>>>> linuxes now come with the newer gccs (> 6.0 I guess). In raspbian
>>>>>>>> jessie, I had to do get a newer compiler
>>>>>>>> package (can’t remember which exactly). It can be a pain sometimes,
>>>>>>>> but I think we should roll out the code for
>>>>>>>> c++11.
>>>>>>>>
>>>>>>>> ========================
>>>>>>>> Prof. Victor Lazzarini
>>>>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>>>>> Maynooth University,
>>>>>>>> Maynooth, Co Kildare, Ireland
>>>>>>>> Tel: 00 353 7086936
>>>>>>>> Fax: 00 353 1 7086952
>>>>>>>>
>>>>>>>>> On 26 Apr 2017, at 18:11, Steven Yi <stevenyi@gmail.com> wrote:
>>>>>>>>>
>>>>>>>>> Thanks Michael for the update!  I think C++11 makes sense. We'll
>>>>>>>>> just
>>>>>>>>> have to be sure to test on all of the compilers we use. I think
>>>>>>>>> we'll
>>>>>>>>> be fine for Visual Studio (I found this link for VS2015, but not one
>>>>>>>>> yet for VS2017, but C++11 looks well covered even in VS2015:
>>>>>>>>> https://msdn.microsoft.com/en-us/library/hh567368.aspx).  I think
Visual C++ implements the vast majority of features in the C++11 core language specification, as well as many C++14 Library features and some features proposed for C++17.


>>>>>>>>> the
>>>>>>>>> only other compilers that are used are GCC and Clang and they should
>>>>>>>>> both be fine on all of the platforms.  (Assuming Emscripten/Clang is
>>>>>>>>> fine.)  We'll just have to be sure to explicitly set C++11 for all
>>>>>>>>> of
>>>>>>>>> our platforms.
>>>>>>>>>
>>>>>>>>> On Wed, Apr 26, 2017 at 12:23 PM, Rory Walsh <rorywalsh@ear.ie>
>>>>>>>>> wrote:
>>>>>>>>>> I agree.
>>>>>>>>>>
>>>>>>>>>> On 26 April 2017 at 17:12, Victor Lazzarini
>>>>>>>>>> <Victor.Lazzarini@nuim.ie>
>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>> I think it makes sense to move to c++11 for the whole codebase,
>>>>>>>>>>> after all
>>>>>>>>>>> it’s 2017. The only issue might be VST,
>>>>>>>>>>> which appears to have problems with it (I noticed when trying to
>>>>>>>>>>> compile
>>>>>>>>>>> the VST host opcodes).
>>>>>>>>>>> ========================
>>>>>>>>>>> Prof. Victor Lazzarini
>>>>>>>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>>>>>>>> Maynooth University,
>>>>>>>>>>> Maynooth, Co Kildare, Ireland
>>>>>>>>>>> Tel: 00 353 7086936
>>>>>>>>>>> Fax: 00 353 1 7086952
>>>>>>>>>>>
>>>>>>>>>>>> On 26 Apr 2017, at 17:08, Michael Gogins
>>>>>>>>>>>> <michael.gogins@gmail.com>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> I've created issues in GitHub for removing the Boost dependency
>>>>>>>>>>>> from
>>>>>>>>>>>> the Csound interfaces, from CsoundVST, and from CsoundAC.
>>>>>>>>>>>>
>>>>>>>>>>>> I have pushed the fixes for the Csound interfaces and for
>>>>>>>>>>>> CsoundVST,
>>>>>>>>>>>> but not tested them, which I will do later today.
>>>>>>>>>>>>
>>>>>>>>>>>> It turns out I had already replaced boost::numeric::ublas with
>>>>>>>>>>>> eigen3
>>>>>>>>>>>> in CsoundAC. It remains to replace Boost formatting and random
>>>>>>>>>>>> distributions. I am working on that now and expect it to be
>>>>>>>>>>>> straightforward, but the C++ requirement will move to -std=c++11.
>>>>>>>>>>>> It
>>>>>>>>>>>> looks like the Boost random distributions more or less went into
>>>>>>>>>>>> C++11.
>>>>>>>>>>>>
>>>>>>>>>>>> Best,
>>>>>>>>>>>> Mike
>>>>>>>>>>>>
>>>>>>>>>>>> -----------------------------------------------------
>>>>>>>>>>>> Michael Gogins
>>>>>>>>>>>> Irreducible Productions
>>>>>>>>>>>> http://michaelgogins.tumblr.com
Computer music, photography, some poetry and fiction, and something more or less like theology or philosophy of religion


>>>>>>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Tue, Apr 25, 2017 at 7:52 PM, Steven Yi <stevenyi@gmail.com>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>> Thanks Michael!
>>>>>>>>>>>>>
>>>>>>>>>>>>> I do think eigen3 is fine as a dependency.  It works at least
>>>>>>>>>>>>> with
>>>>>>>>>>>>> vcpkg as far as I can tell.  We'll have to test again once boost
>>>>>>>>>>>>> is
>>>>>>>>>>>>> off the list of dependencies as it sort of just killed the whole
>>>>>>>>>>>>> build
>>>>>>>>>>>>> and I'm not sure we have any data yet on how long it takes to
>>>>>>>>>>>>> build
>>>>>>>>>>>>> without boost.  (Stephen may have a better idea of it all
>>>>>>>>>>>>> though.)
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Tue, Apr 25, 2017 at 6:35 PM, Michael Gogins
>>>>>>>>>>>>> <michael.gogins@gmail.com> wrote:
>>>>>>>>>>>>>> I will take care of this. I would also like to remove the boost
>>>>>>>>>>>>>> dependency from CsoundAC etc, not sure how hard that is. The
>>>>>>>>>>>>>> dependencies regarding matrix arithmetic would be replaced by
>>>>>>>>>>>>>> Eigen
>>>>>>>>>>>>>> (eigen3), can Appveyor deal with that?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Best,
>>>>>>>>>>>>>> Mike
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> -----------------------------------------------------
>>>>>>>>>>>>>> Michael Gogins
>>>>>>>>>>>>>> Irreducible Productions
>>>>>>>>>>>>>> http://michaelgogins.tumblr.com
Computer music, photography, some poetry and fiction, and something more or less like theology or philosophy of religion


>>>>>>>>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Tue, Apr 25, 2017 at 5:09 PM, Steven Yi <stevenyi@gmail.com>
>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>> Hi All,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I've been working with Stephen Kyne on getting the Visual
>>>>>>>>>>>>>>> Studio
>>>>>>>>>>>>>>> build
>>>>>>>>>>>>>>> to run on Appveyor (a continuous integration system like
>>>>>>>>>>>>>>> Travis).
>>>>>>>>>>>>>>> We're getting stuck because downloading and building Boost
>>>>>>>>>>>>>>> takes a
>>>>>>>>>>>>>>> long time and thus the build times out.  As far as I can see,
>>>>>>>>>>>>>>> we seem
>>>>>>>>>>>>>>> to have a dependency on Boost in just a few places:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> 1. interfaces/CsoundFile.cpp
>>>>>>>>>>>>>>> 2. CsoundAC
>>>>>>>>>>>>>>> 3. CsoundVST
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I think for now our best bet to get a continuous Windows build
>>>>>>>>>>>>>>> with
>>>>>>>>>>>>>>> Appveyor going is to remove the dependency on Boost from
>>>>>>>>>>>>>>> interfaces/CsoundFile.cpp and just not build
>>>>>>>>>>>>>>> CsoundAC/CsoundVST.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> For CsoundFile.cpp, there's just one use of boost:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> // TODO: Replace boost throughout interfaces.
>>>>>>>>>>>>>>> #if !defined(__ANDROID__)
>>>>>>>>>>>>>>> boost::split(args, buffer, boost::is_any_of(" \t\n\r"),
>>>>>>>>>>>>>>> boost::token_compress_on);
>>>>>>>>>>>>>>> #endif
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Could someone (Michael perhaps? I'm guessing this might be
>>>>>>>>>>>>>>> code of
>>>>>>>>>>>>>>> yours?) take a look and perhaps find a way to get rid of using
>>>>>>>>>>>>>>> Boost
>>>>>>>>>>>>>>> here?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks!
>>>>>>>>>>>>>>> steven
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>


Date2017-04-30 17:38
FromStephen Kyne
SubjectRe: [Csnd-dev] Removing boost from CsoundFile.cpp

Hi Tarmo,


Not exactly to be honest. There is a couple of issues with the package manager that need to be ironed out before we a have a working build. Hopefully it will be resolved soon.


Thanks,

Stephen


From: Csound-developers <CSOUND-DEV@LISTSERV.HEANET.IE> on behalf of Tarmo Johannes <trmjhnns@GMAIL.COM>
Sent: 30 April 2017 16:09
To: CSOUND-DEV@LISTSERV.HEANET.IE
Subject: Re: [Csnd-dev] Removing boost from CsoundFile.cpp
 
Hi,

Is it already possible to download the beta-installer from the system for testing?

Thanks!
Tarmo

27.04.2017 16:34 kirjutas kuupäeval "Stephen Kyne" <stevek@outlook.ie>:

Yeah agreed. It's all because of VCPKG. It downloads the source zip first, that can be 10-100 megs depending. Then it has to run cmake on each package and then build in release and debug mode. There is some file copying/packaging as well. It's mainly the builds though that are slow. The folder though itself grows massively due to all the build binaries and source files that are kept. I won't say it's the most efficient package manager...


Anyway, Appveyor have  a ticket raised to install the packages on their side so that projects can just use a system VCPKG rather than installing it locally for each build. Hopefully that will get introduced soon.


The csound VS build itself takes I'd say around the 4 minutes you mentioned.


Stephen


From: Csound-developers <CSOUND-DEV@LISTSERV.HEANET.IE> on behalf of Victor Lazzarini <Victor.Lazzarini@NUIM.IE>
Sent: 27 April 2017 13:20
To: CSOUND-DEV@LISTSERV.HEANET.IE
Subject: Re: [Csnd-dev] Removing boost from CsoundFile.cpp
 
Great job.
30 mins seems a long time considering that the travis builds in about 4, including pulling and installing all dependencies in the process. I wonder why.

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

On 27 Apr 2017, at 10:17, Stephen Kyne <stevek@OUTLOOK.IE> wrote:

Hi all,


Thanks to the boost removal, the build time was greatly reduced. It's now building on appveyor in about 30 minutes. Once I get the caching working it should be quicker from then on. The appveyor.yml config file should be almost complete at this stage, it's even packaging all binaries to a zip file which is available as an artifact to download.


I'd like to get the csound installer for windows working next and have that produced as the artifact. Not sure the work involved there but we would have an end to end automation then. From there we can just add new features/opcodes to the build and maintain some stability.


Also for the VST SDK, the latest version seems backwards compatible with VST2. It might be worth moving to support both if it was deemed beneficial. I'd assume it at least supports C++ 11/14. 


Thanks,
Stephen


From: Csound-developers <CSOUND-DEV@LISTSERV.HEANET.IE> on behalf of Victor Lazzarini <Victor.Lazzarini@NUIM.IE>
Sent: 26 April 2017 20:21
To: CSOUND-DEV@LISTSERV.HEANET.IE
Subject: Re: [Csnd-dev] Removing boost from CsoundFile.cpp
 
-Wno-c++11-narrowing does it.
========================
Prof. Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952

> On 26 Apr 2017, at 20:08, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:
>
> yes, I assume there is something like that. Or -Wno-c++11-narrowing.
> ========================
> Prof. Victor Lazzarini
> Dean of Arts, Celtic Studies, and Philosophy,
> Maynooth University,
> Maynooth, Co Kildare, Ireland
> Tel: 00 353 7086936
> Fax: 00 353 1 7086952
>
>> On 26 Apr 2017, at 20:05, Michael Gogins <michael.gogins@GMAIL.COM> wrote:
>>
>> There may be a pragma to turn off -Wc++11-narrowing.
>>
>> Best,
>> Mike
>>
>> -----------------------------------------------------
>> Michael Gogins
>> Irreducible Productions
>> http://michaelgogins.tumblr.com
Computer music, photography, some poetry and fiction, and something more or less like theology or philosophy of religion


>> Michael dot Gogins at gmail dot com
>>
>>
>> On Wed, Apr 26, 2017 at 2:33 PM, Rory Walsh <rorywalsh@ear.ie> wrote:
>>> I'm not sure how JUCE does it but I am sure It doesn't modify the VST SDK.
>>>
>>> On 26 April 2017 at 19:14, Victor Lazzarini <Victor.Lazzarini@nuim.ie>
>>> wrote:
>>>>
>>>> yep, I tried it again:
>>>>
>>>> /usr/local/lib/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.cpp:512:20:
>>>> error: non-constant-expression cannot
>>>>     be narrowed from type 'int' to 'char' in initializer list
>>>> [-Wc++11-narrowing]
>>>>                       char temp[2] = {'0' + (char)digit, '\0'};
>>>>                                       ^~~~~~~~~~~~~~~~~
>>>> /usr/local/lib/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.cpp:512:20:
>>>> note: insert an explicit cast to
>>>>     silence this issue
>>>>                       char temp[2] = {'0' + (char)digit, '\0'};
>>>>                                       ^~~~~~~~~~~~~~~~~
>>>>                                       static_cast<char>( )
>>>> 1 error generated.
>>>>
>>>>
>>>> it needs some SDK surgery. Or maybe a compiler switch.
>>>> ========================
>>>> Prof. Victor Lazzarini
>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>> Maynooth University,
>>>> Maynooth, Co Kildare, Ireland
>>>> Tel: 00 353 7086936
>>>> Fax: 00 353 1 7086952
>>>>
>>>>> On 26 Apr 2017, at 19:02, Victor Lazzarini <Victor.Lazzarini@NUIM.IE>
>>>>> wrote:
>>>>>
>>>>> Well, I might be wrong, but I remember adding -std=c++11 to cmake and
>>>>> making VST4cs fail to build with
>>>>> a complaint about an SDK header.
>>>>>
>>>>> ========================
>>>>> Prof. Victor Lazzarini
>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>> Maynooth University,
>>>>> Maynooth, Co Kildare, Ireland
>>>>> Tel: 00 353 7086936
>>>>> Fax: 00 353 1 7086952
>>>>>
>>>>>> On 26 Apr 2017, at 18:52, Rory Walsh <rorywalsh@ear.ie> wrote:
>>>>>>
>>>>>> That's odd, I've been building Cabbage with c++11 for quite some time
>>>>>> without any problems, and it use the VST 2.4 SDK?
>>>>>>
>>>>>> On 26 April 2017 at 18:40, Victor Lazzarini <Victor.Lazzarini@nuim.ie>
>>>>>> wrote:
>>>>>> The problem is not with our code, but with the SDK.
>>>>>> ========================
>>>>>> Prof. Victor Lazzarini
>>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>>> Maynooth University,
>>>>>> Maynooth, Co Kildare, Ireland
>>>>>> Tel: 00 353 7086936
>>>>>> Fax: 00 353 1 7086952
>>>>>>
>>>>>>> On 26 Apr 2017, at 18:34, Michael Gogins <michael.gogins@GMAIL.COM>
>>>>>>> wrote:
>>>>>>>
>>>>>>> I agree that we should move to uniformly requiring at least C++11. If
>>>>>>> the VST host opcodes are a problem, I will fix them.
>>>>>>>
>>>>>>> Best,
>>>>>>> Mike
>>>>>>>
>>>>>>> -----------------------------------------------------
>>>>>>> Michael Gogins
>>>>>>> Irreducible Productions
>>>>>>> http://michaelgogins.tumblr.com
Computer music, photography, some poetry and fiction, and something more or less like theology or philosophy of religion


>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Apr 26, 2017 at 1:25 PM, Victor Lazzarini
>>>>>>> <Victor.Lazzarini@nuim.ie> wrote:
>>>>>>>> Some older GCCs (e.g. the one that comes in Debian Jessie) do not
>>>>>>>> have full c++11 support, but I think most
>>>>>>>> linuxes now come with the newer gccs (> 6.0 I guess). In raspbian
>>>>>>>> jessie, I had to do get a newer compiler
>>>>>>>> package (can’t remember which exactly). It can be a pain sometimes,
>>>>>>>> but I think we should roll out the code for
>>>>>>>> c++11.
>>>>>>>>
>>>>>>>> ========================
>>>>>>>> Prof. Victor Lazzarini
>>>>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>>>>> Maynooth University,
>>>>>>>> Maynooth, Co Kildare, Ireland
>>>>>>>> Tel: 00 353 7086936
>>>>>>>> Fax: 00 353 1 7086952
>>>>>>>>
>>>>>>>>> On 26 Apr 2017, at 18:11, Steven Yi <stevenyi@gmail.com> wrote:
>>>>>>>>>
>>>>>>>>> Thanks Michael for the update!  I think C++11 makes sense. We'll
>>>>>>>>> just
>>>>>>>>> have to be sure to test on all of the compilers we use. I think
>>>>>>>>> we'll
>>>>>>>>> be fine for Visual Studio (I found this link for VS2015, but not one
>>>>>>>>> yet for VS2017, but C++11 looks well covered even in VS2015:
>>>>>>>>> https://msdn.microsoft.com/en-us/library/hh567368.aspx).  I think
Visual C++ implements the vast majority of features in the C++11 core language specification, as well as many C++14 Library features and some features proposed for C++17.


>>>>>>>>> the
>>>>>>>>> only other compilers that are used are GCC and Clang and they should
>>>>>>>>> both be fine on all of the platforms.  (Assuming Emscripten/Clang is
>>>>>>>>> fine.)  We'll just have to be sure to explicitly set C++11 for all
>>>>>>>>> of
>>>>>>>>> our platforms.
>>>>>>>>>
>>>>>>>>> On Wed, Apr 26, 2017 at 12:23 PM, Rory Walsh <rorywalsh@ear.ie>
>>>>>>>>> wrote:
>>>>>>>>>> I agree.
>>>>>>>>>>
>>>>>>>>>> On 26 April 2017 at 17:12, Victor Lazzarini
>>>>>>>>>> <Victor.Lazzarini@nuim.ie>
>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>> I think it makes sense to move to c++11 for the whole codebase,
>>>>>>>>>>> after all
>>>>>>>>>>> it’s 2017. The only issue might be VST,
>>>>>>>>>>> which appears to have problems with it (I noticed when trying to
>>>>>>>>>>> compile
>>>>>>>>>>> the VST host opcodes).
>>>>>>>>>>> ========================
>>>>>>>>>>> Prof. Victor Lazzarini
>>>>>>>>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>>>>>>>>> Maynooth University,
>>>>>>>>>>> Maynooth, Co Kildare, Ireland
>>>>>>>>>>> Tel: 00 353 7086936
>>>>>>>>>>> Fax: 00 353 1 7086952
>>>>>>>>>>>
>>>>>>>>>>>> On 26 Apr 2017, at 17:08, Michael Gogins
>>>>>>>>>>>> <michael.gogins@gmail.com>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> I've created issues in GitHub for removing the Boost dependency
>>>>>>>>>>>> from
>>>>>>>>>>>> the Csound interfaces, from CsoundVST, and from CsoundAC.
>>>>>>>>>>>>
>>>>>>>>>>>> I have pushed the fixes for the Csound interfaces and for
>>>>>>>>>>>> CsoundVST,
>>>>>>>>>>>> but not tested them, which I will do later today.
>>>>>>>>>>>>
>>>>>>>>>>>> It turns out I had already replaced boost::numeric::ublas with
>>>>>>>>>>>> eigen3
>>>>>>>>>>>> in CsoundAC. It remains to replace Boost formatting and random
>>>>>>>>>>>> distributions. I am working on that now and expect it to be
>>>>>>>>>>>> straightforward, but the C++ requirement will move to -std=c++11.
>>>>>>>>>>>> It
>>>>>>>>>>>> looks like the Boost random distributions more or less went into
>>>>>>>>>>>> C++11.
>>>>>>>>>>>>
>>>>>>>>>>>> Best,
>>>>>>>>>>>> Mike
>>>>>>>>>>>>
>>>>>>>>>>>> -----------------------------------------------------
>>>>>>>>>>>> Michael Gogins
>>>>>>>>>>>> Irreducible Productions
>>>>>>>>>>>> http://michaelgogins.tumblr.com
Computer music, photography, some poetry and fiction, and something more or less like theology or philosophy of religion


>>>>>>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Tue, Apr 25, 2017 at 7:52 PM, Steven Yi <stevenyi@gmail.com>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>> Thanks Michael!
>>>>>>>>>>>>>
>>>>>>>>>>>>> I do think eigen3 is fine as a dependency.  It works at least
>>>>>>>>>>>>> with
>>>>>>>>>>>>> vcpkg as far as I can tell.  We'll have to test again once boost
>>>>>>>>>>>>> is
>>>>>>>>>>>>> off the list of dependencies as it sort of just killed the whole
>>>>>>>>>>>>> build
>>>>>>>>>>>>> and I'm not sure we have any data yet on how long it takes to
>>>>>>>>>>>>> build
>>>>>>>>>>>>> without boost.  (Stephen may have a better idea of it all
>>>>>>>>>>>>> though.)
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Tue, Apr 25, 2017 at 6:35 PM, Michael Gogins
>>>>>>>>>>>>> <michael.gogins@gmail.com> wrote:
>>>>>>>>>>>>>> I will take care of this. I would also like to remove the boost
>>>>>>>>>>>>>> dependency from CsoundAC etc, not sure how hard that is. The
>>>>>>>>>>>>>> dependencies regarding matrix arithmetic would be replaced by
>>>>>>>>>>>>>> Eigen
>>>>>>>>>>>>>> (eigen3), can Appveyor deal with that?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Best,
>>>>>>>>>>>>>> Mike
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> -----------------------------------------------------
>>>>>>>>>>>>>> Michael Gogins
>>>>>>>>>>>>>> Irreducible Productions
>>>>>>>>>>>>>> http://michaelgogins.tumblr.com
Computer music, photography, some poetry and fiction, and something more or less like theology or philosophy of religion


>>>>>>>>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Tue, Apr 25, 2017 at 5:09 PM, Steven Yi <stevenyi@gmail.com>
>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>> Hi All,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I've been working with Stephen Kyne on getting the Visual
>>>>>>>>>>>>>>> Studio
>>>>>>>>>>>>>>> build
>>>>>>>>>>>>>>> to run on Appveyor (a continuous integration system like
>>>>>>>>>>>>>>> Travis).
>>>>>>>>>>>>>>> We're getting stuck because downloading and building Boost
>>>>>>>>>>>>>>> takes a
>>>>>>>>>>>>>>> long time and thus the build times out.  As far as I can see,
>>>>>>>>>>>>>>> we seem
>>>>>>>>>>>>>>> to have a dependency on Boost in just a few places:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> 1. interfaces/CsoundFile.cpp
>>>>>>>>>>>>>>> 2. CsoundAC
>>>>>>>>>>>>>>> 3. CsoundVST
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I think for now our best bet to get a continuous Windows build
>>>>>>>>>>>>>>> with
>>>>>>>>>>>>>>> Appveyor going is to remove the dependency on Boost from
>>>>>>>>>>>>>>> interfaces/CsoundFile.cpp and just not build
>>>>>>>>>>>>>>> CsoundAC/CsoundVST.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> For CsoundFile.cpp, there's just one use of boost:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> // TODO: Replace boost throughout interfaces.
>>>>>>>>>>>>>>> #if !defined(__ANDROID__)
>>>>>>>>>>>>>>> boost::split(args, buffer, boost::is_any_of(" \t\n\r"),
>>>>>>>>>>>>>>> boost::token_compress_on);
>>>>>>>>>>>>>>> #endif
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Could someone (Michael perhaps? I'm guessing this might be
>>>>>>>>>>>>>>> code of
>>>>>>>>>>>>>>> yours?) take a look and perhaps find a way to get rid of using
>>>>>>>>>>>>>>> Boost
>>>>>>>>>>>>>>> here?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks!
>>>>>>>>>>>>>>> steven
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>