Plugin instructions to pass an array of single

I am attempting to pass an array of single values from Xojo and place them into a plugin method. Is there instructions on how to do this? Here is my Xojo single array:

The third parameter of glBufferData is the array of Single, and the array is passed to the method in Xojo with the following function:

In the plugin, the Xojo array is UData() as Single

Here is the function to receive the parameters:

When data is received at the function, the data is mangled:

When I write the code in pure C++ (no Xojo code), the data is correct:

How do I pass a Single array from Xojo into a plugin without data mangling?

I am guessing that I am supposed to use REALInsertArrayValueSingle and the constant kTypeFloat32 = 1, but how do I use it? What did I program incorrectly?

Thanks for your help :slight_smile:

Your single array is passed to the function as a REALarray type.
And then you use REALGetArrayValue() to pick up a value.

Thanks for the helpful information Christian. Unfortunately, there is no data at the memory address, and it appears that REALGetArrayValue is deprecated and is now REALGetArrayValueSingle.

Are there any other helpful hints to set/get a Single array in a plugin with Xojo?

I can pass a single array in the REALmethodDefinition:

And I can get to my method with REALarray:

Data from REALGetArrayValueSingle a loop are memoryaddresses:

Unfortunately, there is no data at that place in memory with the program running:

MemAddress

You Output the address of the variable instead of the value!

1 Like

You are correct, my error.

Thanks for your help Christian.

Edit: changed the quote

For completeness of this answer, here is the final for-loop: