<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Maximum processing speed of actors [Isadora 2.05]]]></title><description><![CDATA[<div style="font-family:Arial, Verdana;font-size:10pt;font-style:normal;font-variant:normal;font-weight:normal;line-height:normal">I seem to have an issue with an isadora plugin that does not run often enough to process all his incoming messages. Let me try to explain..</div>
<p dir="auto"><span style="font-size:10pt">I have made two Isadora plugins:</span></p>
<div style="font-family:Arial, Verdana;font-size:10pt;font-style:normal;font-variant:normal;font-weight:normal;line-height:normal">Plugin1: OSC receive plugin that receives OSC messages on a specified port and sends them as a string to a text output</div>
<div style="font-family:Arial, Verdana;font-size:10pt;font-style:normal;font-variant:normal;font-weight:normal;line-height:normal">Plugin2: A plugin with a text input that receives the OSC messages from Plugin1 and processes them making input or outputs where necessary.</div>
<div style="font-family:Arial, Verdana;font-size:10pt;font-style:normal;font-variant:normal;font-weight:normal;line-height:normal">I use a application that receives data from the MYO and sends this data via OSC to the Isadora Plugin1 as far as I can tell this plugins receives all the messages and sends them to his output.</div>
<div style="font-family:Arial, Verdana;font-size:10pt;font-style:normal;font-variant:normal;font-weight:normal;line-height:normal">The second plugin acts on these messages using the: <span style="font-size:10pt">HandlePropertyChangeValue function. But on sending the message from one plugin to the other some messages are not processed. The reason why I am using two plugins has to do with the way the used OSC data protocol is being set-up, so it is not an option to do it in one plugin.</span></div>
<div style="font-family:Arial, Verdana;font-size:10pt;font-style:normal;font-variant:normal;font-weight:normal;line-height:normal"><span style="font-size:10pt">  
</span></div>
<div><span style="font-size:10pt">So it seems the processing speed of the first plugin is adequate but with sending the message through to the second plugin some messages are discarded. When </span><span style="font-size:13.3333330154419px">measuring</span><span style="font-size:10pt"> the timestamps it seems that Plugin2 process a message each 33 Mili seconds. Changing the "General Service" option form 1x per frame to 30x per frame dos not make a </span><span style="font-size:13.3333330154419px">difference</span><span style="font-size:10pt">.</span></div>
<div><span style="font-size:10pt">  
</span></div>
<div><span style="font-size:10pt">I attach a part of the debug log. Every line that says "StatemachineRecieve" originates from Plugin1 the other </span><span style="font-size:13.3333330154419px">messages</span><span style="font-size:10pt"> </span><span style="font-size:13.3333330154419px">originate</span><span style="font-size:10pt"> from Plugin2.</span></div>
<div><span style="font-size:10pt">The structure of the OSC message may seem a bit strange to you but it is part of a OSC data protocol which we use.</span></div>
<div><span style="font-size:10pt">As reference I will also attach a screenshot.</span></div>
<div><span style="font-size:10pt">  
</span></div>
<div><span style="font-size:10pt">I am testing on OSX 10.9.5 with Isadora 2.0.5 debugging using Xcode 6.1</span></div>
<div><span style="font-size:10pt">  
</span></div>
<div><span style="font-size:10pt">I hope anybody can shed some light on this.</span></div>
<p dir="auto"><img src="/uploads/files/FileUpload/09/e321ed-screen-shot-2015-03-16-at-16.14.38.png" alt="e321ed-screen-shot-2015-03-16-at-16.14.38.png" class=" img-responsive img-markdown" /> <a href="/uploads/files/FileUpload/5c/35296f-debuglog.txt">35296f-debuglog.txt</a></p>
]]></description><link>https://community.troikatronix.com/topic/1833/maximum-processing-speed-of-actors-isadora-2-05</link><generator>RSS for Node</generator><lastBuildDate>Wed, 20 May 2026 22:09:08 GMT</lastBuildDate><atom:link href="https://community.troikatronix.com/topic/1833.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 16 Mar 2015 14:17:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Maximum processing speed of actors [Isadora 2.05] on Tue, 17 Mar 2015 16:12:21 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://community.troikatronix.com/uid/396">@machiel_v</a>,</p>
<div>Yes, the SDK is coming. I'm still weeding through various bug reports trying make what we have as stable as humanly possible. But the SDK will come as I can manage it.</div>
<div>
<div>Best Wishes,</div>
<div>Mark</div>
</div>]]></description><link>https://community.troikatronix.com/post/15030</link><guid isPermaLink="true">https://community.troikatronix.com/post/15030</guid><dc:creator><![CDATA[mark]]></dc:creator><pubDate>Tue, 17 Mar 2015 16:12:21 GMT</pubDate></item><item><title><![CDATA[Reply to Maximum processing speed of actors [Isadora 2.05] on Tue, 17 Mar 2015 15:00:34 GMT]]></title><description><![CDATA[<p dir="auto">Hi Mark,</p>
<div>Your answer makes sense, that means that I need to implement some sort of buffering in my Plugin1\. That gives some food for though... I might return here with some questions later.. </div>
<div>Thanks! Oh.. and by the way I am really happy with Isadora 2.0 and quite curious how the new SDK is going to be ;)</div>]]></description><link>https://community.troikatronix.com/post/15028</link><guid isPermaLink="true">https://community.troikatronix.com/post/15028</guid><dc:creator><![CDATA[machiel_v]]></dc:creator><pubDate>Tue, 17 Mar 2015 15:00:34 GMT</pubDate></item><item><title><![CDATA[Reply to Maximum processing speed of actors [Isadora 2.05] on Tue, 17 Mar 2015 14:47:54 GMT]]></title><description><![CDATA[<p dir="auto">Dear <a class="plugin-mentions-user plugin-mentions-a" href="https://community.troikatronix.com/uid/396">@machiel_v</a>,</p>
<div>I'm tied up with some other stuff, but probably I'm the only who can answer this. </div>
<div>Without digging in to the code right now, I'm am going to hazard an educated guess. (Well, quite an educated one since I wrote the code that handles this. ;-) )</div>
<div>I think the problem is that there is no buffering of your output. Isadora buffers all of the OSC input in a large buffer, in an attempt to prevent overruns when loads of data is coming in.</div>
<div>Because of that buffering, it is possible that you will receive _two_ or more input messages during a single cycle. If you don't buffer your output, then only the last of those messages will be received by the next actor.</div>
<div>Does that make sense?</div>
<div>
<div>Best Wishes,</div>
<div>Mark</div>
</div>]]></description><link>https://community.troikatronix.com/post/15027</link><guid isPermaLink="true">https://community.troikatronix.com/post/15027</guid><dc:creator><![CDATA[mark]]></dc:creator><pubDate>Tue, 17 Mar 2015 14:47:54 GMT</pubDate></item><item><title><![CDATA[Reply to Maximum processing speed of actors [Isadora 2.05] on Tue, 17 Mar 2015 01:31:38 GMT]]></title><description><![CDATA[<p dir="auto">Try setting your 'general service tasks" setting in the Preferences General tab. <br />
This controls the processing of data between video frames. Useful for increased resolution of data in cases of Audio analysis etc..</p>
<div>It may be that it will allow your second plugin to handle the data being delivered from outside.</div>]]></description><link>https://community.troikatronix.com/post/15021</link><guid isPermaLink="true">https://community.troikatronix.com/post/15021</guid><dc:creator><![CDATA[DusX]]></dc:creator><pubDate>Tue, 17 Mar 2015 01:31:38 GMT</pubDate></item></channel></rss>