Ok, after some tests, it isn´t possible to use shader compounds when i use my existing functions.
The problem are the compound output ports. When the scripting name of a port is "out", i can´t get the target in which the port is connected.
The scripting name, is the name which you can rename inside the shader. The name shown from outside, is the port description.
One solution i have tried, was to rename the ports with the help of the plugin.
But there i have the problem to do it when the renderer is running and the scene is locked.
To lock the scene is needed because it must be safe that no data is changed from outside when the renderer reads all in.
So a rename of the ports at this part of the render process, will cause a crash.
Now i have to rewrite my shader search routines because i think, it can´t be your job to check and rename all "out" ports.
Sorry for the delay,
face