I have code a SOUL processor called “junction” which, in general, has N input/output pairs representing ports. I set up my ports as end point arrays: input stream float inPort[numPorts]; output stream float outPorts[numPorts]; For some connections, I get the following error message:
If I replace some, but not necessarily all, of my junctions with fixed-size versions (e.g., junction3() instead of junction(3)), the problem goes away. I checked to make sure all of my streams are declared the same way and triple-checked the connections.
I can provide more code if that will help, but I wanted to keep my first query brief.
All three end points are declared output stream float
As noted before, if I replace junction_0 and junction_4 with another version that is fixed at 4 ports and does not use end point arrays, it works. Also, there is no problem with junctions that do not connect with audioOut.
Note also that the offending code is part of a graph and audioOut is an end point of the graph.
It’s really hard to know how to tackle a report like that without being able to see what you’re actually doing… can you create a code snippet on soul.dev that goes wrong and post the link for us to try?
Agreed, a sample would be handy. I can guess the sort of area to investigate (and i’m not totally surprised there are edge cases there) but an example would be perfect. The simpler the better!