Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] instr0 non-globals affecting variable assignment in instruments
Richard Knight <[email protected]> Mon, 8 Dec 2025 11:33:40 +0000
| Newsgroups | gmane.comp.audio.csound.devel |
|---|---|
| Organization | 1bpm |
| Message-ID | <[email protected]> |
Hi, Appreciate you both looking into this and the other issue so quickly. I'm moving a quite large codebase and plugins to Csound 7 and have a performance on Thursday so hoping to take it out in public then :) Thank you all for your efforts and work, I'm excited to finally get round to using CS7 in earnest. RK On 2025-12-08 10:03, Victor Lazzarini wrote: > Hi Richard, > > I found the bug and sent in a PR > > https://github.com/csound/csound/pull/2380 > > fixing this. Thanks for reporting it. > ======================== > Prof. Victor Lazzarini > Maynooth University > Ireland > >> On 7 Dec 2025, at 23:54, Richard Knight <[email protected]> wrote: >> >> *Warning* >> >> This email originated from outside of Maynooth University's Mail >> System. Do not reply, click links or open attachments unless you >> recognise the sender and know the content is safe. >> >> I'm moving to Csound 7 and some of my collection of UDOs don't work - >> there are some patterns such as the one below in some files, which >> caused compilation to fail with the following error: >> >> error: Array variable name 'Sresult' used before as a different type >> at >> line 14 >> SEMERR: Array variable name 'Sresult' used before as a different type >> at >> line 14 >> >> I can see why this is happening (conflicting types of Sresult) and how >> to work around, but is this expected behaviour? >> Notably this seems to only occur only in opcodes and if arrays are >> involved - if I move the contents of the opcode into an instr then it >> works OK, and numeric/string primitives work OK in this pattern. >> >> >> Sresult = "anything" >> >> opcode test1, S[], 0 >> Sresult[] fillarray "t1", "t2" >> xout Sresult >> endop >> >> instr 1 >> Sresult[] test1 >> endin