Re: [Csnd-dev] UDO problem in latest develop

Dave Seidel <[email protected]> Mon, 10 Nov 2025 11:50:58 -0500
Newsgroups gmane.comp.audio.csound.devel
Message-ID <CAMnrweDXc8_mT+U2od1hYofXrOM9duK+SoXgdOg4Fn4dtSYaGA@mail.gmail.com>
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]> 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]>
> 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]>
>> 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]> 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.
>>>>
>>>>
>>>>
>>>>