<div dir="ltr">thanks for the answers, it sounds like I did a poor job of explaining what I&#39;m trying to do, ha. Let&#39;s try again!<div><br></div><div>There are two Max external instances, each with a complete s7 interpreter. One only runs in the high thread and one in the low. In the high thread there are sequencers, which have their sequence data stored in vectors of vectors of numbers, and meta data in hashtables (though this could be switched to vectors too). I want a UI object in the low thread that has a shadow copy of the sequence data and is used to make a programmable display. Nothing it does will ever lead to a change in the main data vectors. I would like to periodically (say every 100 to 500ms) update the shadow copy - it&#39;s ok if it takes a moment for the UI to update after a sequence changing operation. All of this can be done at the C level if need be. As in, I can have FFI functions that copy from the players vectors into some other buffer, and have the low side read from this other buffer. The shape of the data does not need to be changeable once it&#39;s going. So really I just want the low thread to be able to read the blocks of numbers that are in the vectors of vectors, they don&#39;t need to manipulate or be aware of the identity of the s7 objects, just their contents.</div><div><br></div><div>Hopefully that is a better explanation, I probably don&#39;t know the right terminology to use here!</div><div><br></div><div>thanks</div><div>iain</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Jan 22, 2022 at 6:23 AM Elijah Stone &lt;<a href="mailto:elronnd@elronnd.net">elronnd@elronnd.net</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">&gt; Yes, but I don&#39;t see the need.  If the s7_cell space is made available <br>
&gt; to the user, I lose any flexibility in using that space later<br>
<br>
I was imagining: #define S7_C_OBJECT_VALUE_SIZE, user either ensures their <br>
junk fits in that or indirects.  Well, Hyrum&#39;s law applies, and I guess it <br>
is a little fragile, but certainly doable.<br>
<br>
<br>
&gt; Why can&#39;t you use a C struct or array, or an s7 vector or list as the <br>
&gt; value, and store any number of things through the value field?<br>
<br>
I am irrationally fearful of allocations, pay me no mind :)<br>
<br>
  -E<br>
_______________________________________________<br>
Cmdist mailing list<br>
<a href="mailto:Cmdist@ccrma.stanford.edu" target="_blank">Cmdist@ccrma.stanford.edu</a><br>
<a href="https://cm-mail.stanford.edu/mailman/listinfo/cmdist" rel="noreferrer" target="_blank">https://cm-mail.stanford.edu/mailman/listinfo/cmdist</a><br>
</blockquote></div>