<?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[Shuffling in Pd vanilla]]></title><description><![CDATA[<p><a class="plugin-mentions-a" href="http://forum.pdpatchrepo.info/user/lacuna">@lacuna</a>, so as not to junk up <a class="plugin-mentions-a" href="http://forum.pdpatchrepo.info/user/dizzy-dizzy">@Dizzy-Dizzy</a>'s <a href="https://forum.pdpatchrepo.info/topic/15834/shuffling-audio-only-allowing-repeats-once-all-options-have-been-played" rel="nofollow">topic</a>, I wanted to continue investigating in a new topic. For some reason I woke up this morning with the realization that your [array random] strategy (and therefore my version of it too of course) doesn't guarantee complete n-element permutations--it only guarantees that there are no successive repeats within any rolling window (which may be what <a class="plugin-mentions-a" href="http://forum.pdpatchrepo.info/user/dizzy-dizzy">@Dizzy-Dizzy</a> wanted, which is another reason to start a new topic). I think that [array random] strategy only works if you are successively removing elements from the pool until it is empty.</p>
<p>Check out this test of your most recent version:<br />
<a href="/uploads/files/1776514031058-1776427700402-randompermutations2.pd">1776427700402-randompermutations2.pd</a><br />
<img src="/uploads/files/1776516729077-screenshot-2026-04-18-080555.png" alt="Screenshot 2026-04-18 080555.png" class="img-responsive img-markdown" /><br />
You can see that the permutations after the first two aren't complete. Maybe that wasn't your requirement?</p>
]]></description><link>http://forum.pdpatchrepo.info/topic/15858/shuffling-in-pd-vanilla</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Apr 2026 16:01:54 GMT</lastBuildDate><atom:link href="http://forum.pdpatchrepo.info/topic/15858.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 18 Apr 2026 12:22:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Shuffling in Pd vanilla on Sat, 18 Apr 2026 12:52:12 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-a" href="http://forum.pdpatchrepo.info/user/lacuna">@lacuna</a>, so as not to junk up <a class="plugin-mentions-a" href="http://forum.pdpatchrepo.info/user/dizzy-dizzy">@Dizzy-Dizzy</a>'s <a href="https://forum.pdpatchrepo.info/topic/15834/shuffling-audio-only-allowing-repeats-once-all-options-have-been-played" rel="nofollow">topic</a>, I wanted to continue investigating in a new topic. For some reason I woke up this morning with the realization that your [array random] strategy (and therefore my version of it too of course) doesn't guarantee complete n-element permutations--it only guarantees that there are no successive repeats within any rolling window (which may be what <a class="plugin-mentions-a" href="http://forum.pdpatchrepo.info/user/dizzy-dizzy">@Dizzy-Dizzy</a> wanted, which is another reason to start a new topic). I think that [array random] strategy only works if you are successively removing elements from the pool until it is empty.</p>
<p>Check out this test of your most recent version:<br />
<a href="/uploads/files/1776514031058-1776427700402-randompermutations2.pd">1776427700402-randompermutations2.pd</a><br />
<img src="/uploads/files/1776516729077-screenshot-2026-04-18-080555.png" alt="Screenshot 2026-04-18 080555.png" class="img-responsive img-markdown" /><br />
You can see that the permutations after the first two aren't complete. Maybe that wasn't your requirement?</p>
]]></description><link>http://forum.pdpatchrepo.info/topic/15858/shuffling-in-pd-vanilla</link><guid isPermaLink="true">http://forum.pdpatchrepo.info/topic/15858/shuffling-in-pd-vanilla</guid><dc:creator><![CDATA[jameslo]]></dc:creator><pubDate>Sat, 18 Apr 2026 12:52:12 GMT</pubDate></item><item><title><![CDATA[Reply to Shuffling in Pd vanilla on Sat, 18 Apr 2026 13:35:01 GMT]]></title><description><![CDATA[<p>True, and I must admit that I am bored with this.<br />
The array sum changes after the first or second sequence or after each sequence. This also happens in my sleek patch: <a href="https://forum.pdpatchrepo.info/topic/15834/shuffling-audio-only-allowing-repeats-once-all-options-have-been-played/11" rel="nofollow">https://forum.pdpatchrepo.info/topic/15834/shuffling-audio-only-allowing-repeats-once-all-options-have-been-played/11</a></p>
<p>I think OPs requirement has been solved by your patch or others in the thread?</p>
<p>Also permutations have been discussed in this forum before:<br />
<a href="https://forum.pdpatchrepo.info/topic/10707/all-possible-permutations-with-repetitions-of-harmonic-volume-from-top-to-bottom/8" rel="nofollow">https://forum.pdpatchrepo.info/topic/10707/all-possible-permutations-with-repetitions-of-harmonic-volume-from-top-to-bottom/8</a></p>
<p><a href="https://forum.pdpatchrepo.info/topic/10746/permutations-second-part-can-anybody-get-this-patch-to-work" rel="nofollow">https://forum.pdpatchrepo.info/topic/10746/permutations-second-part-can-anybody-get-this-patch-to-work</a></p>
<p>(I did not read them entirely)</p>
<p>And there are non-Vanilla externals, mentioned in Dizzys thread and fd_lib [combi], an object I don't understand yet.</p>
<p>EDIT and this <a href="https://forum.pdpatchrepo.info/topic/5142/generating-all-possible-permutations-of-a-fixed-number-set" rel="nofollow">https://forum.pdpatchrepo.info/topic/5142/generating-all-possible-permutations-of-a-fixed-number-set</a><br />
and that<br />
<a href="https://grrrr.org/2010/11/04/list-permutation-pure_data/" rel="nofollow">https://grrrr.org/2010/11/04/list-permutation-pure_data/</a></p>
]]></description><link>http://forum.pdpatchrepo.info/topic/15858/shuffling-in-pd-vanilla/2</link><guid isPermaLink="true">http://forum.pdpatchrepo.info/topic/15858/shuffling-in-pd-vanilla/2</guid><dc:creator><![CDATA[lacuna]]></dc:creator><pubDate>Sat, 18 Apr 2026 13:35:01 GMT</pubDate></item><item><title><![CDATA[Reply to Shuffling in Pd vanilla on Sat, 18 Apr 2026 13:55:58 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-a" href="http://forum.pdpatchrepo.info/user/lacuna">@lacuna</a> Well, I blame you for my continued, irrational curiosity <img class="emoji emoji-extended" src="http://forum.pdpatchrepo.info/plugins/nodebb-plugin-emoji-extended/images/grinning.png" title=":)" alt=":)" />. I usually don't care about efficiency and care more about code clarity, but your original proposed solution intrigued me because it was both arcane and minimal. Plus I'm not even sure how to implement something like motex/shuffle in normal imperative textual languages like c or Java (which is how I think, even when patching).</p>
<p>Thanks for the links, I'll check them out later.</p>
]]></description><link>http://forum.pdpatchrepo.info/topic/15858/shuffling-in-pd-vanilla/3</link><guid isPermaLink="true">http://forum.pdpatchrepo.info/topic/15858/shuffling-in-pd-vanilla/3</guid><dc:creator><![CDATA[jameslo]]></dc:creator><pubDate>Sat, 18 Apr 2026 13:55:58 GMT</pubDate></item></channel></rss>