<?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[Automated state-saving in MobMuPlat]]></title><description><![CDATA[<h4>UPDATED version without dependence on external .txt files (below in comments)</h4>
<p>This is cool. I figured out how to do Automated state-saving in MobMuPlat.</p>
<p>In order to better emulate (virtually via OSC) how my arduino/pi project will actually behave, i.e. the location of hardware knobs can't be set on loadbang, I needed a mechanism for mmp to constantly retain its state. So like hardware knobs they kept their &quot;place&quot;.</p>
<p>)aside: the fromGUI toNetwork is Not part of the idea.)</p>
<p><img src="/uploads/files/1615179624818-screenshot_2021-03-07_22-59-02.png" alt="Screenshot_2021-03-07_22-59-02.png" class="img-responsive img-markdown" /><br />
<a href="/uploads/files/1615179632757-mmp-state.zip">mmp-state.zip</a></p>
<p>See the zip to demo it.</p>
<p>It only requires that you FIRST make a .txt &quot;state&quot; (ex. mmp-state.txt) file listing all the control addresses you want to save/load and a dummy value for each address.</p>
<p>Works like a charm.</p>
<p>May it serve you well.</p>
<p>Note: the 10s automated save period is completely arbitrary and you could even set it with a knob, slider, textdialog etc.</p>
<p>Peace through sharing,<br />
S</p>
<p>p.s. a todo would be make it automatically harvest the control names/addresses by loading itself (the .mmp) file into a [text] object and just searching for the control classes and write that file as the mmp-state.txt ...perhaps another day <img class="emoji emoji-extended" src="http://forum.pdpatchrepo.info/plugins/nodebb-plugin-emoji-extended/images/grinning.png" title=":-)" alt=":-)" /></p>
]]></description><link>http://forum.pdpatchrepo.info/topic/13343/automated-state-saving-in-mobmuplat</link><generator>RSS for Node</generator><lastBuildDate>Tue, 09 Jun 2026 18:06:12 GMT</lastBuildDate><atom:link href="http://forum.pdpatchrepo.info/topic/13343.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 08 Mar 2021 05:06:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Automated state-saving in MobMuPlat on Mon, 08 Mar 2021 20:08:28 GMT]]></title><description><![CDATA[<h4>UPDATED version without dependence on external .txt files (below in comments)</h4>
<p>This is cool. I figured out how to do Automated state-saving in MobMuPlat.</p>
<p>In order to better emulate (virtually via OSC) how my arduino/pi project will actually behave, i.e. the location of hardware knobs can't be set on loadbang, I needed a mechanism for mmp to constantly retain its state. So like hardware knobs they kept their &quot;place&quot;.</p>
<p>)aside: the fromGUI toNetwork is Not part of the idea.)</p>
<p><img src="/uploads/files/1615179624818-screenshot_2021-03-07_22-59-02.png" alt="Screenshot_2021-03-07_22-59-02.png" class="img-responsive img-markdown" /><br />
<a href="/uploads/files/1615179632757-mmp-state.zip">mmp-state.zip</a></p>
<p>See the zip to demo it.</p>
<p>It only requires that you FIRST make a .txt &quot;state&quot; (ex. mmp-state.txt) file listing all the control addresses you want to save/load and a dummy value for each address.</p>
<p>Works like a charm.</p>
<p>May it serve you well.</p>
<p>Note: the 10s automated save period is completely arbitrary and you could even set it with a knob, slider, textdialog etc.</p>
<p>Peace through sharing,<br />
S</p>
<p>p.s. a todo would be make it automatically harvest the control names/addresses by loading itself (the .mmp) file into a [text] object and just searching for the control classes and write that file as the mmp-state.txt ...perhaps another day <img class="emoji emoji-extended" src="http://forum.pdpatchrepo.info/plugins/nodebb-plugin-emoji-extended/images/grinning.png" title=":-)" alt=":-)" /></p>
]]></description><link>http://forum.pdpatchrepo.info/topic/13343/automated-state-saving-in-mobmuplat</link><guid isPermaLink="true">http://forum.pdpatchrepo.info/topic/13343/automated-state-saving-in-mobmuplat</guid><dc:creator><![CDATA[sv]]></dc:creator><pubDate>Mon, 08 Mar 2021 20:08:28 GMT</pubDate></item><item><title><![CDATA[Reply to Automated state-saving in MobMuPlat on Mon, 08 Mar 2021 20:07:19 GMT]]></title><description><![CDATA[<p>UPDATED version-without dependence on external .txt files</p>
<p><a href="/uploads/files/1615233930508-mmp-state-saving.zip">mmp-state-saving.zip</a></p>
<p>One of the great benefits and allures of Mobmuplat is it allows (via OSC) you to create virtual versions of hardware, ex. arduino, HID controllers etc.</p>
<p>But one of things it does NOT naturally do is retain state. And while loading initial states, via loadbang, is nice, it is very clunky and does Not emulate hardware.</p>
<p>What this (class) abstraction does is:<br />
Read all incoming GUI values (address+values) and writes them to a [text]. If the controller hasn't been changed yet, i.e. it's &quot;new&quot;, then it adds a row to the [text]. If it is not new, then it finds that row (via search) and amends it with the new value(s) (that includes multi-value controls like xy-slider and multislider, though the multislider must be in &quot;output all sliders mode&quot;). It then uses menusave to save the [text] and just reads it back in on loadbang.</p>
<p>It takes one creation argument: the period in ms of the metro which sends a bang to the menusave message.</p>
<p>So...</p>
<p>By copying and renaming the abs to whatever you want, for instance, {name-of-main-mmp-patch}-state.pd, then dropping that abs into your main mmp patch it will always be exactly like you left it. Then the next time you open the MMP document, it behaves like hardware, with all the knobs, sliders, etc. being where you left them.</p>
<p>p.s. not going to bother with screenshots. As the zip files are very self-explanatory and include a demo.</p>
<p>Peace through sharing. I hope your day is going well.</p>
<p>Sincerely,<br />
S</p>
<p>Supports:</p>
<p>MMPSlider<br />
MMPKnob<br />
MMPToggle<br />
MMPXYSlider<br />
MMPMultiSlider</p>
<p>Does Not Support:</p>
<p>MMPButton (nonsensical)<br />
MMPLCD (no input)<br />
MMPGrid (non-linear)<br />
MMPMenu (output!=input)<br />
MMPMultiTouch (no input)<br />
MMPPanel (no output)<br />
MMPTable (output!=input)</p>
]]></description><link>http://forum.pdpatchrepo.info/topic/13343/automated-state-saving-in-mobmuplat/2</link><guid isPermaLink="true">http://forum.pdpatchrepo.info/topic/13343/automated-state-saving-in-mobmuplat/2</guid><dc:creator><![CDATA[sv]]></dc:creator><pubDate>Mon, 08 Mar 2021 20:07:19 GMT</pubDate></item></channel></rss>