Re: [Csnd-dev] UDO problem in latest develop
Dave Seidel <[email protected]> Mon, 10 Nov 2025 12:21:33 -0500
| Newsgroups | gmane.comp.audio.csound.devel |
|---|---|
| Message-ID | <CAMnrweBq2tRXq0em0-sBOkgusQZMfHeGhybWQCkZ1E5oUkyFog@mail.gmail.com> |
Thanks, Joachim, I will try that. And thanks Victor, I missed Joachims's original report. On Mon, Nov 10, 2025 at 12:19 PM joachim heintz <[email protected]> wrote: > hi dave - > i have opened a ticket for a related issue. > i have no problems when i checkout commit > 728c8e4fdc6f1ca30da9577bed651ec79af59057. > perhaps this is an option for you, too. > best - > joachim > > On 10/11/2025 18:08, Dave Seidel wrote: > > But I am grateful to have a workaround! > > > > On Mon, Nov 10, 2025 at 12:06 PM Dave Seidel <[email protected] > > <mailto:[email protected]>> wrote: > > > > My piece actually contains 5 UDOs, all of which were written using > > the new style, and none of them work. Hopefully there will be a > > testable fix soon so I don't have to rewrite a substantial part of > > the code. :-) > > > > On Mon, Nov 10, 2025 at 11:59 AM Dave Seidel <[email protected] > > <mailto:[email protected]>> wrote: > > > > To confirm, the UDO works if defined and invoked using the old > > syntax. > > > > On Mon, Nov 10, 2025 at 11:55 AM Dave Seidel > > <[email protected] <mailto:[email protected]>> wrote: > > > > Thanks, Hlöðver. > > > > On Mon, Nov 10, 2025 at 11:52 AM Hlöðver Sigurðsson > > <[email protected] <mailto:[email protected]>> wrote: > > > > I made a reproducible test here, it fails in instr 2, > > instr 1 works, so you have a workaround for now, by > > placing the arguments positionally "old-style" while I > > make a fix > > > > <CsoundSynthesizer> > > <CsOptions> > > -n -d > > </CsOptions> > > <CsInstruments> > > sr = 44100 > > ksmps = 64 > > nchnls = 2 > > 0dbfs = 1 > > > > giSine ftgen 0, 0, 4096, 10, 1 > > > > opcode TestXout, aa, ikai > > ifreq, koff, aamp, itbl xin > > koff1 = koff > > koff2 = 2 * koff > > > > a1 poscil aamp, ifreq+koff1, itbl > > a2 poscil aamp, ifreq+koff2, itbl > > a3 poscil aamp, ifreq-koff1, itbl > > a4 poscil aamp, ifreq-koff2, itbl > > > > aL = a1 + a3 > > aR = a2 + a4 > > > > xout aL, aR > > endop > > > > instr 1 > > ifreq = 440 > > koff = 0.004 > > aenv linen 0.5, 0.01, p3, 0.01 > > > > ; This should work - unpacking the outputs > > aL, aR TestXout ifreq, koff, aenv, giSine > > out aL, aR > > endin > > > > instr 2 > > ifreq = 440 > > koff = 0.004 > > aenv linen 0.5, 0.01, p3, 0.01 > > > > ; This tests the regression - calling UDO with > > multiple outputs directly in out statement > > out TestXout(ifreq, koff, aenv, giSine) > > endin > > > > </CsInstruments> > > <CsScore> > > i 1 0 0.1 > > i 2 0 0.1 > > </CsScore> > > </CsoundSynthesizer> > > > > On Mon, 10 Nov 2025 at 18:51, Dave Seidel > > <[email protected] <mailto:[email protected]>> > > wrote: > > > > This is how it's being used in context: > > > > instr Drone > > idur = p3 > > iamp = ampdb(p4) / 7 > > ifreq = p5 > > > > icps = ifreq / 4 > > icps2 = icps * 1.5 > > icps3 = icps * 2 > > prints("drones: %f, %f, %f\n", icps, icps2, > icps3) > > > > aenv = linen(iamp, 3, idur, 3) > > > > a1L, a1R = RissetHarmOsc(icps, 0.004, aenv, > > giPrime) > > a2L, a2R = RissetHarmOsc(icps2, 0.005, aenv, > > giPrime) > > a3L, a3R = RissetHarmOsc(icps3, 0.006, aenv, > > giPrime) > > ga_drone_L += a1L+a2L+a3L > > ga_drone_R += a1R+a2R+a3R > > > > printks("drone %f, %f\n", 2, ga_drone_L, > > ga_drone_R) > > endin > > > > > > On Mon, Nov 10, 2025 at 11:48 AM Dave Seidel > > <[email protected] > > <mailto:[email protected]>> wrote: > > > > I'm not getting any error message at all. > > > > On Mon, Nov 10, 2025 at 11:45 AM Hlöðver > > Sigurðsson <[email protected] > > <mailto:[email protected]>> wrote: > > > > this is the error you are seeing? > > > > > error: opcode 'RissetHarmOsc' for > > expression with arg types icai returns out- > > args != 1, line 43 > > > > On Mon, 10 Nov 2025 at 18:41, Hlöðver > > Sigurðsson <[email protected] > > <mailto:[email protected]>> wrote: > > > > I'm taking a look at this now, I don't > > know if my changes had anything to do > > with it, not unlikely > > > > On Mon, 10 Nov 2025 at 18:39, Dave > > Seidel <[email protected] > > <mailto:[email protected]>> wrote: > > > > The following UDO does not work with > > the latest develop sources. The > > print statement shows that all four > > inputs argos are coming in at 0; If > > I revert to the 7.0.0-beta.9 tag, it > > works fine. > > > > opcode > > > RissetHarmOsc(freq:i,ofs:k,amp:a,tbl:i):(a,a) > > koff1 = ofs > > koff2 = 2 * ofs > > koff3 = 3 * ofs > > koff4 = 4 * ofs > > > > printks(">> RissetHarmOsc ->%f > > %f %f %f\n", 5, freq, ofs, amp, tbl) > > > > ; a1 = poscil3(kamp, freq, tbl > > a2 = poscil3(amp, freq+koff1, > tbl) > > a3 = poscil3(amp, freq+koff2, > tbl) > > a4 = poscil3(amp, freq+koff3, > tbl) > > a5 = poscil3(amp, freq+koff4, > tbl) > > a6 = poscil3(amp, freq-koff1, > tbl) > > a7 = poscil3(amp, freq-koff2, > tbl) > > a8 = poscil3(amp, freq-koff3, > tbl) > > a9 = poscil3(amp, freq-koff4, > tbl) > > aL = a2+a4+a6+a8 > > aR = a3+a5+a7+a9 > > > > aoutL, aoutR = reverbsc(aL, aR, > > 0.4, 4000) > > xout(aoutL+aL, aoutR+aR) > > ; xout(aL, aR) > > endop > > > > example calling statement: > > > > a1L, a1R = RissetHarmOsc(icps, > > 0.004, aenv, giPrime) > > > > Has something changed to make my UDO > > invalid in some way? I'm using this > > code in as performance on Saturday > > and I'm focused on preparing, but I > > can follow up with a minimal example. > > > > > > >