Csound Csound-dev Csound-tekno Search About

[Cs-dev] New string variable code

Date2013-05-24 21:44
FromVictor Lazzarini
Subject[Cs-dev] New string variable code
I'd just like to let anyone building Csound 6 from GIT know that I have committed a big change in string variable
handling. I think I have converted all opcodes to use it now, but there could be one or two I missed (hopefully not).
So if you suddenly find that an opcode that has string inputs or outputs is broken, let me know and I will have a look.

Strings are now dynamic and should be more memory efficient and able to handle more demanding things like
whole orchestras in them.

This also meant some small changes to the API (there is no more csoundGetStrVarMaxLen() and there are 
methods to query the size of channel data). 

Dr Victor Lazzarini
Senior Lecturer
Dept. of Music
NUI Maynooth Ireland
tel.: +353 1 708 3545
Victor dot Lazzarini AT nuim dot ie




------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2013-05-24 22:15
FromRory Walsh
SubjectRe: [Cs-dev] New string variable code
Sounds good Victor. Now that you are on intimate terms with Csound
strings, is there any chance the changed opcode could be updated to
test for string changes as well? It would prove very useful in
frontends with widgets that let users select files :)
Slightly off-tpoic, but how does one init a string?






On 24 May 2013 21:44, Victor Lazzarini  wrote:
> I'd just like to let anyone building Csound 6 from GIT know that I have committed a big change in string variable
> handling. I think I have converted all opcodes to use it now, but there could be one or two I missed (hopefully not).
> So if you suddenly find that an opcode that has string inputs or outputs is broken, let me know and I will have a look.
>
> Strings are now dynamic and should be more memory efficient and able to handle more demanding things like
> whole orchestras in them.
>
> This also meant some small changes to the API (there is no more csoundGetStrVarMaxLen() and there are
> methods to query the size of channel data).
>
> Dr Victor Lazzarini
> Senior Lecturer
> Dept. of Music
> NUI Maynooth Ireland
> tel.: +353 1 708 3545
> Victor dot Lazzarini AT nuim dot ie
>
>
>
>
> ------------------------------------------------------------------------------
> Try New Relic Now & We'll Send You this Cool Shirt
> New Relic is the only SaaS-based application performance monitoring service
> that delivers powerful full stack analytics. Optimize and monitor your
> browser, app, & servers with just a few lines of code. Try New Relic
> and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
> _______________________________________________
> Csound-devel mailing list
> Csound-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/csound-devel

------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2013-05-24 22:42
FromVictor Lazzarini
SubjectRe: [Cs-dev] New string variable code
I think this should not be a problem.
On 24 May 2013, at 22:15, Rory Walsh wrote:

> Sounds good Victor. Now that you are on intimate terms with Csound
> strings, is there any chance the changed opcode could be updated to
> test for string changes as well? It would prove very useful in
> frontends with widgets that let users select files :)
> Slightly off-tpoic, but how does one init a string?
> 
> 
> 
> 
> 
> 
> On 24 May 2013 21:44, Victor Lazzarini  wrote:
>> I'd just like to let anyone building Csound 6 from GIT know that I have committed a big change in string variable
>> handling. I think I have converted all opcodes to use it now, but there could be one or two I missed (hopefully not).
>> So if you suddenly find that an opcode that has string inputs or outputs is broken, let me know and I will have a look.
>> 
>> Strings are now dynamic and should be more memory efficient and able to handle more demanding things like
>> whole orchestras in them.
>> 
>> This also meant some small changes to the API (there is no more csoundGetStrVarMaxLen() and there are
>> methods to query the size of channel data).
>> 
>> Dr Victor Lazzarini
>> Senior Lecturer
>> Dept. of Music
>> NUI Maynooth Ireland
>> tel.: +353 1 708 3545
>> Victor dot Lazzarini AT nuim dot ie
>> 
>> 
>> 
>> 
>> ------------------------------------------------------------------------------
>> Try New Relic Now & We'll Send You this Cool Shirt
>> New Relic is the only SaaS-based application performance monitoring service
>> that delivers powerful full stack analytics. Optimize and monitor your
>> browser, app, & servers with just a few lines of code. Try New Relic
>> and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
>> _______________________________________________
>> Csound-devel mailing list
>> Csound-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/csound-devel
> 
> ------------------------------------------------------------------------------
> Try New Relic Now & We'll Send You this Cool Shirt
> New Relic is the only SaaS-based application performance monitoring service 
> that delivers powerful full stack analytics. Optimize and monitor your
> browser, app, & servers with just a few lines of code. Try New Relic
> and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
> _______________________________________________
> Csound-devel mailing list
> Csound-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/csound-devel

Dr Victor Lazzarini
Senior Lecturer
Dept. of Music
NUI Maynooth Ireland
tel.: +353 1 708 3545
Victor dot Lazzarini AT nuim dot ie




------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2013-05-24 22:43
FromVictor Lazzarini
SubjectRe: [Cs-dev] New string variable code
with assignment = or strset. I might add a init for strings, just to make it complete.
On 24 May 2013, at 22:15, Rory Walsh wrote:

> Slightly off-tpoic, but how does one init a string?

Dr Victor Lazzarini
Senior Lecturer
Dept. of Music
NUI Maynooth Ireland
tel.: +353 1 708 3545
Victor dot Lazzarini AT nuim dot ie




------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2013-05-24 23:27
FromRory Walsh
SubjectRe: [Cs-dev] New string variable code
Yes but if you use = it keeps resetting a every k period? no? Adding a
string to init would, as you say, complete the picture on that front.
Adding support for strings in changed would be really great. And I
can't tell you how much easier using changed as a function in an if
statement has made my life!

------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2013-05-24 23:28
FromMichael Gogins
SubjectRe: [Cs-dev] New string variable code
AttachmentsNone  None  
I've just build your new string stuff on MinGW. I've pushed 6 commits with minor fixes and an implementation of cs_strtok_r in widgets.cpp. This is no problem on MinGW, on other platforms if there is a name conflict the name can just be changed in widgets.cpp.


On Fri, May 24, 2013 at 5:43 PM, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:
with assignment = or strset. I might add a init for strings, just to make it complete.
On 24 May 2013, at 22:15, Rory Walsh wrote:

> Slightly off-tpoic, but how does one init a string?

Dr Victor Lazzarini
Senior Lecturer
Dept. of Music
NUI Maynooth Ireland
tel.: +353 1 708 3545
Victor dot Lazzarini AT nuim dot ie




------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/csound-devel



--
Michael Gogins
Irreducible Productions
http://www.michael-gogins.com
Michael dot Gogins at gmail dot com

Date2013-05-24 23:40
FromVictor Lazzarini
SubjectRe: [Cs-dev] New string variable code
No, it's i-time only, so that'll be fine.

Victor
On 24 May 2013, at 23:27, Rory Walsh wrote:

> Yes but if you use = it keeps resetting a every k period? no? Adding a
> string to init would, as you say, complete the picture on that front.
> Adding support for strings in changed would be really great. And I
> can't tell you how much easier using changed as a function in an if
> statement has made my life!
> 
> ------------------------------------------------------------------------------
> Try New Relic Now & We'll Send You this Cool Shirt
> New Relic is the only SaaS-based application performance monitoring service 
> that delivers powerful full stack analytics. Optimize and monitor your
> browser, app, & servers with just a few lines of code. Try New Relic
> and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
> _______________________________________________
> Csound-devel mailing list
> Csound-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/csound-devel

Dr Victor Lazzarini
Senior Lecturer
Dept. of Music
NUI Maynooth Ireland
tel.: +353 1 708 3545
Victor dot Lazzarini AT nuim dot ie




------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2013-05-24 23:52
FromVictor Lazzarini
SubjectRe: [Cs-dev] New string variable code
AttachmentsNone  None  
OK, sorry I messed up some Windows code, thanks for fixing it. 

I've had to protect the t_locale definition in sysdep.h with WIN32, which is OK, but I have this error in signalflowchart.cpp:

[ 71%] Building CXX object Opcodes/CMakeFiles/signalflowgraph.dir/signalflowgraph.cpp.o
cd /Users/victor/src/csound6/debug/Opcodes && /Users/victor/bin/c++   -Dsignalflowgraph_EXPORTS -DUSE_DOUBLE -DCS_DEFAULT_PLUGINDIR=\"/Users/victor/Library/Frameworks/CsoundLib64.framework/Versions/6.0/Resources/Opcodes64\" -D_CSOUND_RELEASE_ -DUSE_LRINT -DMACOSX -DPIPES -DNO_FLTK_THREADS -DHAVE_SOCKETS -DHAVE_STRTOK_R -DHAVE_STRTOD_L -g -fPIC -I/usr/local/include -I/Users/victor/src/csound6/./H -I/Users/victor/src/csound6/./include -I/Users/victor/src/csound6/./Engine -I/Users/victor/src/csound6/. -I/Users/victor/src/csound6/debug -I/Library/Frameworks/Python.framework/Headers    -Wno-format  -g -o CMakeFiles/signalflowgraph.dir/signalflowgraph.cpp.o -c /Users/victor/src/csound6/Opcodes/signalflowgraph.cpp
/Users/victor/src/csound6/Opcodes/signalflowgraph.cpp: In function ‘bool ISSTRCOD(double)’:
/Users/victor/src/csound6/Opcodes/signalflowgraph.cpp:125: error: expected unqualified-id before ‘(’ token
make[2]: *** [Opcodes/CMakeFiles/signalflowgraph.dir/signalflowgraph.cpp.o] Error 1
make[1]: *** [Opcodes/CMakeFiles/signalflowgraph.dir/all] Error 2


On 24 May 2013, at 23:28, Michael Gogins wrote:

I've just build your new string stuff on MinGW. I've pushed 6 commits with minor fixes and an implementation of cs_strtok_r in widgets.cpp. This is no problem on MinGW, on other platforms if there is a name conflict the name can just be changed in widgets.cpp.


On Fri, May 24, 2013 at 5:43 PM, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:
with assignment = or strset. I might add a init for strings, just to make it complete.
On 24 May 2013, at 22:15, Rory Walsh wrote:

> Slightly off-tpoic, but how does one init a string?

Dr Victor Lazzarini
Senior Lecturer
Dept. of Music
NUI Maynooth Ireland
tel.: +353 1 708 3545
Victor dot Lazzarini AT nuim dot ie




------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/csound-devel



--
Michael Gogins
Irreducible Productions
http://www.michael-gogins.com
Michael dot Gogins at gmail dot com
------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/csound-devel

Dr Victor Lazzarini
Senior Lecturer
Dept. of Music
NUI Maynooth Ireland
tel.: +353 1 708 3545
Victor dot Lazzarini AT nuim dot ie




Date2013-05-25 01:25
FromMichael Gogins
SubjectRe: [Cs-dev] New string variable code
AttachmentsNone  None  
This is Csound development example #umpty-ump why macros are bad...

Anyway, my fix was to fix the macro, the problem with my fix is that std::isnan needs <cmath> which was apparently #included indirectly on MinGW but not on your platform. I have added #include <cmath> and pushed it.

BTW I have apparently succeeded in building LuaJIT for Android, so now I am going to try again to build the Csound Android NDK modules.

Regards,
Mike




On Fri, May 24, 2013 at 6:52 PM, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:
OK, sorry I messed up some Windows code, thanks for fixing it. 

I've had to protect the t_locale definition in sysdep.h with WIN32, which is OK, but I have this error in signalflowchart.cpp:

[ 71%] Building CXX object Opcodes/CMakeFiles/signalflowgraph.dir/signalflowgraph.cpp.o
cd /Users/victor/src/csound6/debug/Opcodes && /Users/victor/bin/c++   -Dsignalflowgraph_EXPORTS -DUSE_DOUBLE -DCS_DEFAULT_PLUGINDIR=\"/Users/victor/Library/Frameworks/CsoundLib64.framework/Versions/6.0/Resources/Opcodes64\" -D_CSOUND_RELEASE_ -DUSE_LRINT -DMACOSX -DPIPES -DNO_FLTK_THREADS -DHAVE_SOCKETS -DHAVE_STRTOK_R -DHAVE_STRTOD_L -g -fPIC -I/usr/local/include -I/Users/victor/src/csound6/./H -I/Users/victor/src/csound6/./include -I/Users/victor/src/csound6/./Engine -I/Users/victor/src/csound6/. -I/Users/victor/src/csound6/debug -I/Library/Frameworks/Python.framework/Headers    -Wno-format  -g -o CMakeFiles/signalflowgraph.dir/signalflowgraph.cpp.o -c /Users/victor/src/csound6/Opcodes/signalflowgraph.cpp
/Users/victor/src/csound6/Opcodes/signalflowgraph.cpp: In function ‘bool ISSTRCOD(double)’:
/Users/victor/src/csound6/Opcodes/signalflowgraph.cpp:125: error: expected unqualified-id before ‘(’ token
make[2]: *** [Opcodes/CMakeFiles/signalflowgraph.dir/signalflowgraph.cpp.o] Error 1
make[1]: *** [Opcodes/CMakeFiles/signalflowgraph.dir/all] Error 2


On 24 May 2013, at 23:28, Michael Gogins wrote:

I've just build your new string stuff on MinGW. I've pushed 6 commits with minor fixes and an implementation of cs_strtok_r in widgets.cpp. This is no problem on MinGW, on other platforms if there is a name conflict the name can just be changed in widgets.cpp.


On Fri, May 24, 2013 at 5:43 PM, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:
with assignment = or strset. I might add a init for strings, just to make it complete.
On 24 May 2013, at 22:15, Rory Walsh wrote:

> Slightly off-tpoic, but how does one init a string?

Dr Victor Lazzarini
Senior Lecturer
Dept. of Music
NUI Maynooth Ireland
tel.: +353 1 708 3545
Victor dot Lazzarini AT nuim dot ie




------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/csound-devel



--
Michael Gogins
Irreducible Productions
http://www.michael-gogins.com
Michael dot Gogins at gmail dot com
------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/csound-devel

Dr Victor Lazzarini
Senior Lecturer
Dept. of Music
NUI Maynooth Ireland
Victor dot Lazzarini AT nuim dot ie




------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/csound-devel




--
Michael Gogins
Irreducible Productions
http://www.michael-gogins.com
Michael dot Gogins at gmail dot com