[Cs-dev] UDO Type System: Requesting Testing
Date | 2014-03-19 00:02 |
From | Steven Yi |
Subject | [Cs-dev] UDO Type System: Requesting Testing |
Attachments | test_udo_a_array.csd test_udo_local_ksmps.csd None None |
Hi All, I've gotten through the major parts of converting the UDO compilation/performance code to use the Type System. So far, I've managed to try a few examples and things look good. I've also written a couple of examples that I've attached here. One just checks with setksmps that all values of the incoming a-var are set correctly. The other uses an a[] as input and output to a UDO. With this change, all previous UDO's should work as-is, and this should allow any type to be specified for UDO arguments, particularly arrays of any type. I have tested a[], but have not tried other array types. Some things I have not tested: * i[] may not be copying only at i-time * a[] may not work correctly if setksmps is used (I'm pretty sure this will be a problem) * S[] * running UDO's with --sample-accurate I would like to request testing for the above as well as general testing that older projects are working correctly. If you find a bug, I'd greatly appreciate a CSD to add to the test suite. To test: all code is in the feature/udo_type_system branch. You can check this out using: git checkout feature/udo_type_system You can also then go back to the develop branch using: git checkout develop To note, upon success, this should close out bug 23[1] and bug 95[2]. I will wait some time to sort through any feedback, then plan to merge this feature branch back into develop. Also to note, the feature/udo_type_system branch has the latest from develop merged in. Thanks! steven [1] - http://sourceforge.net/p/csound/feature-requests/23/ [2] - http://sourceforge.net/p/csound/tickets/95/ |
Date | 2014-03-19 08:07 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] UDO Type System: Requesting Testing |
Also worth testing are the recursive UDOs. ======================== Dr Victor Lazzarini Senior Lecturer NUI Maynooth, Ireland victor dot lazzarini at nuim dot ie On 19 Mar 2014, at 00:02, Steven Yi |
Date | 2014-03-19 13:39 |
From | Steven Yi |
Subject | Re: [Cs-dev] UDO Type System: Requesting Testing |
Attachments | None None |
I think recursion is working. I did test yesterday one of the examples from the manual that used a recursive lowpass udo and that sounded correct to my ears. But further testing would certainly be a good thing! :) On Mar 19, 2014 4:08 AM, "Victor Lazzarini" <Victor.Lazzarini@nuim.ie> wrote:
Also worth testing are the recursive UDOs. |
Date | 2014-03-19 17:11 |
From | joachim heintz |
Subject | Re: [Cs-dev] UDO Type System: Requesting Testing |
hi steven - super -- i am excited to try it. after pulling and checking out the new branch, i ran cmake, and then make. the latter gives me some errors which seem to be related to the fact that C99 is required. is this true? how can i achieve this? below are the error messages. sorry they are in german. i am on ubuntu studio. best - joachim -- Build files have been written to: /home/jh/src/csound6-git jh@lenov:~/src/csound6-git$ make [ 0%] Building C object CMakeFiles/csound64.dir/Engine/insert.c.o /home/jh/src/csound6-git/Engine/insert.c: In Funktion »xinset«: /home/jh/src/csound6-git/Engine/insert.c:1349:5: Fehler: Anfangsdeklarationen in »for«-Schleifen sind nur im C99-Modus erlaubt /home/jh/src/csound6-git/Engine/insert.c:1349:5: Anmerkung: -std=c99 oder -std=gnu99 verwenden, um den Code zu übersetzen /home/jh/src/csound6-git/Engine/insert.c: In Funktion »xoutset«: /home/jh/src/csound6-git/Engine/insert.c:1371:5: Fehler: Anfangsdeklarationen in »for«-Schleifen sind nur im C99-Modus erlaubt /home/jh/src/csound6-git/Engine/insert.c: In Funktion »useropcd1«: /home/jh/src/csound6-git/Engine/insert.c:1650:5: Fehler: Anfangsdeklarationen in »for«-Schleifen sind nur im C99-Modus erlaubt /home/jh/src/csound6-git/Engine/insert.c:1667:9: Fehler: Anfangsdeklarationen in »for«-Schleifen sind nur im C99-Modus erlaubt /home/jh/src/csound6-git/Engine/insert.c:1690:18: Fehler: Redefinition von »i« /home/jh/src/csound6-git/Engine/insert.c:1667:18: Anmerkung: Vorherige Definition von »i« war hier /home/jh/src/csound6-git/Engine/insert.c:1690:9: Fehler: Anfangsdeklarationen in »for«-Schleifen sind nur im C99-Modus erlaubt /home/jh/src/csound6-git/Engine/insert.c:1724:9: Fehler: Anfangsdeklarationen in »for«-Schleifen sind nur im C99-Modus erlaubt /home/jh/src/csound6-git/Engine/insert.c:1748:18: Fehler: Redefinition von »i« /home/jh/src/csound6-git/Engine/insert.c:1724:18: Anmerkung: Vorherige Definition von »i« war hier /home/jh/src/csound6-git/Engine/insert.c:1748:9: Fehler: Anfangsdeklarationen in »for«-Schleifen sind nur im C99-Modus erlaubt /home/jh/src/csound6-git/Engine/insert.c:1766:14: Fehler: Redefinition von »i« /home/jh/src/csound6-git/Engine/insert.c:1650:14: Anmerkung: Vorherige Definition von »i« war hier /home/jh/src/csound6-git/Engine/insert.c:1766:5: Fehler: Anfangsdeklarationen in »for«-Schleifen sind nur im C99-Modus erlaubt /home/jh/src/csound6-git/Engine/insert.c: In Funktion »useropcd2«: /home/jh/src/csound6-git/Engine/insert.c:1822:7: Fehler: Anfangsdeklarationen in »for«-Schleifen sind nur im C99-Modus erlaubt /home/jh/src/csound6-git/Engine/insert.c:1851:16: Fehler: Redefinition von »i« /home/jh/src/csound6-git/Engine/insert.c:1822:16: Anmerkung: Vorherige Definition von »i« war hier /home/jh/src/csound6-git/Engine/insert.c:1851:7: Fehler: Anfangsdeklarationen in »for«-Schleifen sind nur im C99-Modus erlaubt make[2]: *** [CMakeFiles/csound64.dir/Engine/insert.c.o] Fehler 1 make[1]: *** [CMakeFiles/csound64.dir/all] Fehler 2 make: *** [all] Fehler 2 Am 19.03.2014 01:02, schrieb Steven Yi: > Hi All, > > I've gotten through the major parts of converting the UDO > compilation/performance code to use the Type System. So far, I've > managed to try a few examples and things look good. I've also written > a couple of examples that I've attached here. One just checks with > setksmps that all values of the incoming a-var are set correctly. The > other uses an a[] as input and output to a UDO. > > With this change, all previous UDO's should work as-is, and this > should allow any type to be specified for UDO arguments, particularly > arrays of any type. I have tested a[], but have not tried other array > types. > > Some things I have not tested: > > * i[] may not be copying only at i-time > * a[] may not work correctly if setksmps is used (I'm pretty sure this > will be a problem) > * S[] > * running UDO's with --sample-accurate > > I would like to request testing for the above as well as general > testing that older projects are working correctly. If you find a bug, > I'd greatly appreciate a CSD to add to the test suite. > > To test: all code is in the feature/udo_type_system branch. You can > check this out using: > > git checkout feature/udo_type_system > > You can also then go back to the develop branch using: > > git checkout develop > > To note, upon success, this should close out bug 23[1] and bug 95[2]. > > I will wait some time to sort through any feedback, then plan to merge > this feature branch back into develop. Also to note, the > feature/udo_type_system branch has the latest from develop merged in. > > Thanks! > steven > > [1] - http://sourceforge.net/p/csound/feature-requests/23/ > [2] - http://sourceforge.net/p/csound/tickets/95/ > > > > ------------------------------------------------------------------------------ > Learn Graph Databases - Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and their > applications. Written by three acclaimed leaders in the field, > this first edition is now available. Download your free book today! > http://p.sf.net/sfu/13534_NeoTech > > > > _______________________________________________ > Csound-devel mailing list > Csound-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/csound-devel > ------------------------------------------------------------------------------ Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/csound-deve |
Date | 2014-03-19 17:52 |
From | |
Subject | Re: [Cs-dev] |
Attachments | None None |
Hi Joachim, Thanks for reporting this. I’m not at my primary computer at the moment, but suspect I wrote some for-loops defining variables within them which is a more modern coding style. I’ll be back home in 4-5 hours and will check the code and also try compiling on Debian. I’ll report here once I can get things sorted out. Thanks! steven hi steven - super -- i am excited to try it. after pulling and checking out the new branch, i ran cmake, and then make. the latter gives me some errors which seem to be related to the fact that C99 is required. is this true? how can i achieve this? below are the error messages. sorry they are in german. i am on ubuntu studio. best - joachim -- Build files have been written to: /home/jh/src/csound6-git jh@lenov:~/src/csound6-git$ make [ 0%] Building C object CMakeFiles/csound64.dir/Engine/insert.c.o /home/jh/src/csound6-git/Engine/insert.c: In Funktion »xinset«: /home/jh/src/csound6-git/Engine/insert.c:1349:5: Fehler: Anfangsdeklarationen in »for«-Schleifen sind nur im C99-Modus erlaubt /home/jh/src/csound6-git/Engine/insert.c:1349:5: Anmerkung: -std=c99 oder -std=gnu99 verwenden, um den Code zu übersetzen /home/jh/src/csound6-git/Engine/insert.c: In Funktion »xoutset«: /home/jh/src/csound6-git/Engine/insert.c:1371:5: Fehler: Anfangsdeklarationen in »for«-Schleifen sind nur im C99-Modus erlaubt /home/jh/src/csound6-git/Engine/insert.c: In Funktion »useropcd1«: /home/jh/src/csound6-git/Engine/insert.c:1650:5: Fehler: Anfangsdeklarationen in »for«-Schleifen sind nur im C99-Modus erlaubt /home/jh/src/csound6-git/Engine/insert.c:1667:9: Fehler: Anfangsdeklarationen in »for«-Schleifen sind nur im C99-Modus erlaubt /home/jh/src/csound6-git/Engine/insert.c:1690:18: Fehler: Redefinition von »i« /home/jh/src/csound6-git/Engine/insert.c:1667:18: Anmerkung: Vorherige Definition von »i« war hier /home/jh/src/csound6-git/Engine/insert.c:1690:9: Fehler: Anfangsdeklarationen in »for«-Schleifen sind nur im C99-Modus erlaubt /home/jh/src/csound6-git/Engine/insert.c:1724:9: Fehler: Anfangsdeklarationen in »for«-Schleifen sind nur im C99-Modus erlaubt /home/jh/src/csound6-git/Engine/insert.c:1748:18: Fehler: Redefinition von »i« /home/jh/src/csound6-git/Engine/insert.c:1724:18: Anmerkung: Vorherige Definition von »i« war hier /home/jh/src/csound6-git/Engine/insert.c:1748:9: Fehler: Anfangsdeklarationen in »for«-Schleifen sind nur im C99-Modus erlaubt /home/jh/src/csound6-git/Engine/insert.c:1766:14: Fehler: Redefinition von »i« /home/jh/src/csound6-git/Engine/insert.c:1650:14: Anmerkung: Vorherige Definition von »i« war hier /home/jh/src/csound6-git/Engine/insert.c:1766:5: Fehler: Anfangsdeklarationen in »for«-Schleifen sind nur im C99-Modus erlaubt /home/jh/src/csound6-git/Engine/insert.c: In Funktion »useropcd2«: /home/jh/src/csound6-git/Engine/insert.c:1822:7: Fehler: Anfangsdeklarationen in »for«-Schleifen sind nur im C99-Modus erlaubt /home/jh/src/csound6-git/Engine/insert.c:1851:16: Fehler: Redefinition von »i« /home/jh/src/csound6-git/Engine/insert.c:1822:16: Anmerkung: Vorherige Definition von »i« war hier /home/jh/src/csound6-git/Engine/insert.c:1851:7: Fehler: Anfangsdeklarationen in »for«-Schleifen sind nur im C99-Modus erlaubt make[2]: *** [CMakeFiles/csound64.dir/Engine/insert.c.o] Fehler 1 make[1]: *** [CMakeFiles/csound64.dir/all] Fehler 2 make: *** [all] Fehler 2 Am 19.03.2014 01:02, schrieb Steven Yi: > Hi All, > > I've gotten through the major parts of converting the UDO > compilation/performance code to use the Type System. So far, I've > managed to try a few examples and things look good. I've also written > a couple of examples that I've attached here. One just checks with > setksmps that all values of the incoming a-var are set correctly. The > other uses an a[] as input and output to a UDO. > > With this change, all previous UDO's should work as-is, and this > should allow any type to be specified for UDO arguments, particularly > arrays of any type. I have tested a[], but have not tried other array > types. > > Some things I have not tested: > > * i[] may not be copying only at i-time > * a[] may not work correctly if setksmps is used (I'm pretty sure this > will be a problem) > * S[] > * running UDO's with --sample-accurate > > I would like to request testing for the above as well as general > testing that older projects are working correctly. If you find a bug, > I'd greatly appreciate a CSD to add to the test suite. > > To test: all code is in the feature/udo_type_system branch. You can > check this out using: > > git checkout feature/udo_type_system > > You can also then go back to the develop branch using: > > git checkout develop > > To note, upon success, this should close out bug 23[1] and bug 95[2]. > > I will wait some time to sort through any feedback, then plan to merge > this feature branch back into develop. Also to note, the > feature/udo_type_system branch has the latest from develop merged in. > > Thanks! > steven > > [1] - http://sourceforge.net/p/csound/feature-requests/23/ > [2] - http://sourceforge.net/p/csound/tickets/95/ > > > > ------------------------------------------------------------------------------ > Learn Graph Databases - Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and their > applications. Written by three acclaimed leaders in the field, > this first edition is now available. Download your free book today! > http://p.sf.net/sfu/13534_NeoTech > > > > _______________________________________________ > Csound-devel mailing list > Csound-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/csound-devel > ------------------------------------------------------------------------------ Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/csound-devel |
Date | 2014-03-20 00:35 |
From | Steven Yi |
Subject | Re: [Cs-dev] UDO Type System: Requesting Testing |
Hi Joachim, I just tried compiling on Debian and got the same errors as you (but in English! :) ). The problem was just the for-loops using variable declarations which was easy to fix. I've pushed the fixed up code and it is now compiling for me on Debian. Could you try pulling and compiling again? Thanks! steven On Wed, Mar 19, 2014 at 1:52 PM, |
Date | 2014-03-20 11:58 |
From | joachim heintz |
Subject | Re: [Cs-dev] UDO Type System: Requesting Testing |
hi steven - that's good =) -- i promise, my future os versions will be in english ... i could compile now, and a first test with your csd was successfull. super! i will try to make more tests later. best - joachim Am 20.03.2014 01:35, schrieb Steven Yi: > Hi Joachim, > > I just tried compiling on Debian and got the same errors as you (but > in English! :) ). The problem was just the for-loops using variable > declarations which was easy to fix. I've pushed the fixed up code and > it is now compiling for me on Debian. > > Could you try pulling and compiling again? > > Thanks! > steven > > On Wed, Mar 19, 2014 at 1:52 PM, |
Date | 2014-03-20 12:14 |
From | Felipe Sateler |
Subject | Re: [Cs-dev] UDO Type System: Requesting Testing |
On Thu, Mar 20, 2014 at 8:58 AM, joachim heintz |
Date | 2014-03-20 12:43 |
From | Steven Yi |
Subject | Re: [Cs-dev] UDO Type System: Requesting Testing |
...or I can learn German. ;) Very glad that it's compiling now Joachim and I look forward to what examples you come up with! steven On Thu, Mar 20, 2014 at 8:14 AM, Felipe Sateler |
Date | 2014-03-20 13:38 |
From | joachim heintz |
Subject | Re: [Cs-dev] UDO Type System: Requesting Testing |
thanks for the tip -- this is a good remedium before my conversion can be completed ... j Am 20.03.2014 13:14, schrieb Felipe Sateler: > On Thu, Mar 20, 2014 at 8:58 AM, joachim heintz |
Date | 2014-03-20 15:25 |
From | Steven Yi |
Subject | Re: [Cs-dev] UDO Type System: Requesting Testing |
I just did a test and String arrays seem to work just fine: |
Date | 2014-03-20 16:32 |
From | joachim heintz |
Subject | Re: [Cs-dev] UDO Type System: Requesting Testing |
yeah (american i hope)! juppie (deutsch)! great work steven -- this is more than one beer ... =) Am 20.03.2014 16:25, schrieb Steven Yi: > I just did a test and String arrays seem to work just fine: > > |
Date | 2014-03-20 16:43 |
From | Steven Yi |
Subject | Re: [Cs-dev] UDO Type System: Requesting Testing |
:) I was taking note of what left I have to test: * check audio-arrays and local ksmps * check UDO's with --sample-accurate * Report error on UDO correctly * Type Check xin/xout I was able to run and older project of mine which has quite a number of UDO's and the project ran fine, so I'm feeling pretty good about things. I will be spreading out the above tasks over the coming days, and expect with the type checking work that things will maybe take another week or so. At this point though, I'm feeling good that the udo_type_system branch is working on par with the current code in develop, as well as adding the generality to allow any array type. All of the above is additional features to what we have currently. With that said, I will plan to merge the udo_type_system branch back into develop later today, and will continue development there. Thanks! steven On Thu, Mar 20, 2014 at 12:32 PM, joachim heintz |
Date | 2014-03-20 21:47 |
From | Steven Yi |
Subject | Re: [Cs-dev] UDO Type System: Requesting Testing |
Hi All, Just FYI: I've merged the features/udo_type_system branch into develop. If you've got the udo_type_system branch checked out, please switch to develop and delete that branch. Thanks! steven On Thu, Mar 20, 2014 at 12:43 PM, Steven Yi |