Cycling74 / rnbo.unity.audioplugin

RNBO Adapter for Unity's Native Audio Plugin
MIT License
40 stars 8 forks source link

Messages don't go through, Bangs don't go through, Buffers are not being loaded, Values are not being passed around. #41

Closed MeditoDiTerra closed 4 months ago

MeditoDiTerra commented 5 months ago

I have the latest Max 8.6.2 with RNBO 1.2.6

I have a very basic sampler patch using buffer and a groove to play it.

I'd like to operate it by messages and bangs but after thorough testing and debugging, I came to the conclusion they are not being transmitted.

I followed the instructions from the docs, I followed the principles from the Quantized Buffers example, but none of it works, even though it should, according to the documentation and the example provided.

I placed multiple params objects throughout the patch to write and read from and to debug what's going on inside and the only thing that seems to work, is setting the params using SetParamValue(). But these directly set parameters won't write values into params set after them for debugging, suggesting the values don't go through and only sit in the first param object.

Messages don't write values or trigger bangs, Bangs don't trigger bangs, Buffer cannot be loaded. The patch works as expected in Max.

jinpavg commented 5 months ago

Hi @MeditoDiTerra , thank you for reaching out here, I can look into this. Just to make sure I understand -- if you use the Quantized Buffers example patch and script, does that work as expected, but your own patch, made with RNBO 1.2.6, does not?

MeditoDiTerra commented 5 months ago

Hello @jinpavg and thank you for the quick reply.

I went through everything again this morning and noticed I left out plugin.Update() call in my class which fixed everything after reinstating. My apologies for the previous rant.

That being said, could you please enlighten me on what processes are running on the Update() call under the hood? Because the reason I originally took it out from my class was that I didn't need it for previously tested plugins, which were the Feedback Synth from RNBO Intro and a custom Kick Synth. Both worked without it and I assumed the plugins use their own DSP based update, and that the Update() call is used just for refreshing parameters on the Unity side.

jinpavg commented 4 months ago

Hi @MeditoDiTerra, I'm glad this is working for you now. Just to make sure I'm answering the right question, I want to make sure about which Update() you are describing, and in what context.

Are you describing the <your plugin name>Handle.Update() method, which we call inside Unity's Update() method, like in this document? If so, this is only required when you use your RNBO export as a custom filter in this way, as opposed to as a plugin you load on a track on the AudioMixer, which is why you might not have needed it in your other test scripts.

Let me know if we're talking about the same thing, and I can give more thoughts!