<?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[Inputs into MIDI]]></title><description><![CDATA[<p>I'm working with reading MIDI controller inputs, and want to write a subpatch where I can select a channel and have it read a value for a hardwired controller.  There doesn't seem to be a way to pass a desired channel into <code>ctlin</code> as a wired value, you can only hardwire the value in, or filter undesired values out after.  Am I missing something?</p>
<p>Thanks in advance,<br />
Frank</p>
]]></description><link>http://forum.pdpatchrepo.info/topic/13934/inputs-into-midi</link><generator>RSS for Node</generator><lastBuildDate>Sat, 17 Oct 2026 18:08:10 GMT</lastBuildDate><atom:link href="http://forum.pdpatchrepo.info/topic/13934.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 16 May 2022 17:31:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Inputs into MIDI on Mon, 16 May 2022 17:31:31 GMT]]></title><description><![CDATA[<p>I'm working with reading MIDI controller inputs, and want to write a subpatch where I can select a channel and have it read a value for a hardwired controller.  There doesn't seem to be a way to pass a desired channel into <code>ctlin</code> as a wired value, you can only hardwire the value in, or filter undesired values out after.  Am I missing something?</p>
<p>Thanks in advance,<br />
Frank</p>
]]></description><link>http://forum.pdpatchrepo.info/topic/13934/inputs-into-midi</link><guid isPermaLink="true">http://forum.pdpatchrepo.info/topic/13934/inputs-into-midi</guid><dc:creator><![CDATA[fkberthold]]></dc:creator><pubDate>Mon, 16 May 2022 17:31:31 GMT</pubDate></item><item><title><![CDATA[Reply to Inputs into MIDI on Mon, 16 May 2022 19:43:30 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-a" href="http://forum.pdpatchrepo.info/user/fkberthold">@fkberthold</a><img src="/uploads/files/1652729974702-untitled.png" alt="Untitled.png" class="img-responsive img-markdown" /><br />
Edit: Kind of looks like you got this and I failed to read your entire post, maybe? You can do an abstraction with dynamic patching to avoid the filtering, but probably not worth the effort since you would not gain much from it.</p>
]]></description><link>http://forum.pdpatchrepo.info/topic/13934/inputs-into-midi/2</link><guid isPermaLink="true">http://forum.pdpatchrepo.info/topic/13934/inputs-into-midi/2</guid><dc:creator><![CDATA[oid]]></dc:creator><pubDate>Mon, 16 May 2022 19:43:30 GMT</pubDate></item><item><title><![CDATA[Reply to Inputs into MIDI on Mon, 16 May 2022 20:13:37 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-a" href="http://forum.pdpatchrepo.info/user/oid">@oid</a></p>
<p>I did something similar to that. But I think I had occasional issues with out of sync data coming through. That could have been operator error.   I'll experiment further with it.</p>
<p>If I were to take the dynamic patching route, could you recommend a good resource on the subject?</p>
<p>Thanks,<br />
Frank</p>
]]></description><link>http://forum.pdpatchrepo.info/topic/13934/inputs-into-midi/3</link><guid isPermaLink="true">http://forum.pdpatchrepo.info/topic/13934/inputs-into-midi/3</guid><dc:creator><![CDATA[fkberthold]]></dc:creator><pubDate>Mon, 16 May 2022 20:13:37 GMT</pubDate></item><item><title><![CDATA[Reply to Inputs into MIDI on Mon, 16 May 2022 22:23:27 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-a" href="http://forum.pdpatchrepo.info/user/fkberthold">@fkberthold</a> Just give the forum a search. All you have to do is save what you want to dynamically patch and then open it up in a text editor, those are the messages you need to send to the subpatch with you dynamically send to. The problem here is that everytime you change the port number you have to clear the subpatch and repatch, not a huge deal but it can easily become less efficient than alternative ways. It is worth learning. Run this like the normal [ctlin] object, argument is initial port number, inlet changes the port, with no argument it defaults to omni just like [ctlin]. After that right click on the abstraction and open it, look in the subpatch [pd $0do] and you will see [ctlin #] connected to [pack f f] which is connected to [s $0output]. We use a [send] instead of outlets directly since creation and deletion of [inlet] and [outlet] is a pain and this lets us just wipe the whole patch which insures things don't get messy, like if you accidentally save the abstraction with something in the subpatch we dynamically patch in.<br />
<img src="/uploads/files/1652738398681-untitled1.png" alt="Untitled1.png" class="img-responsive img-markdown" /><br />
<a href="/uploads/files/1652738432530-controlin.pd">controlin.pd</a></p>
<p>Edit: Just remembered, we now have actual documentation for dynamic patching as of pd 0.52, open the helpfile for message boxes and then click on the [pd-messages] subpatch bottom left.</p>
]]></description><link>http://forum.pdpatchrepo.info/topic/13934/inputs-into-midi/4</link><guid isPermaLink="true">http://forum.pdpatchrepo.info/topic/13934/inputs-into-midi/4</guid><dc:creator><![CDATA[oid]]></dc:creator><pubDate>Mon, 16 May 2022 22:23:27 GMT</pubDate></item><item><title><![CDATA[Reply to Inputs into MIDI on Tue, 17 May 2022 07:20:11 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-a" href="http://forum.pdpatchrepo.info/user/fkberthold">@fkberthold</a> Just to add to <a class="plugin-mentions-a" href="http://forum.pdpatchrepo.info/user/oid">@oid</a>'s post...... you can find all the object definitions (and the necessary arguments) which can be used for dynamic patching here....... <a href="https://puredata.info/docs/developer/PdFileFormat" rel="nofollow">https://puredata.info/docs/developer/PdFileFormat</a></p>
<p>Note that you can send multiple messages comma separated from within one message as <a class="plugin-mentions-a" href="http://forum.pdpatchrepo.info/user/oid">@oid</a> has done in the [connect( message.</p>
<p>If the sub-patch is even only a little more complex it can be easier to dynamically create a whole abstraction that contains send and receive type objects, as a large quantity of [connect( or [disconnect( messages can spin your head off your neck.<br />
The message would be [obj 10 10 my-abstraction $2 12 woof( for example, to put [my-abstraction $0-value 12 woof] into the sub-patch and preserve the sub-patch value of $0 within the abstraction as $1.<br />
Yes, cascading $ values can be great fun in dynamic patching.... but nothing like as complex as [connect( messages... that will have to be adjusted if you add another object to the sub-patch in <a class="plugin-mentions-a" href="http://forum.pdpatchrepo.info/user/oid">@oid</a>'s example.<br />
Dynamically creating a large number of abstractions with different arguments is a very powerful tool.<br />
The [clone] object is more restrictive as concerns arguments, and I find it a bit harder to use.</p>
<p>Also you can send messages directly to the sub-patch with a single message box like this..... <a href="/uploads/files/1652769233208-ctlin_2.pd">ctlin_2.pd</a><br />
By adding extra arguments to the [pack] and replacing e.g. &quot;10 10&quot; with &quot;10 $4&quot; within the message you can then easily use a counter...... 1-n .... to both increment arguments (like with [clone] $1)..... and to place the objects neatly into the sub-patch.<br />
David.</p>
<p><img src="/uploads/files/1652769683329-capture.jpg" alt="Capture.JPG" class="img-responsive img-markdown" /></p>
]]></description><link>http://forum.pdpatchrepo.info/topic/13934/inputs-into-midi/5</link><guid isPermaLink="true">http://forum.pdpatchrepo.info/topic/13934/inputs-into-midi/5</guid><dc:creator><![CDATA[whale-av]]></dc:creator><pubDate>Tue, 17 May 2022 07:20:11 GMT</pubDate></item><item><title><![CDATA[Reply to Inputs into MIDI on Tue, 17 May 2022 09:54:16 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-a" href="http://forum.pdpatchrepo.info/user/whale-av">@whale-av</a> said:</p>
<blockquote>
<p>If the sub-patch is even only a little more complex it can be easier to dynamically create a whole abstraction that contains send and receive type objects, as a large quantity of [connect( or [disconnect( messages can spin your head off your neck.</p>
</blockquote>
<p>That is why you just patch it manually, save it and let pd figure out the connect messages for you. Or you use this bit of cleverness.<br />
<a href="https://forum.pdpatchrepo.info/topic/12690/a-patch-to-transforme-patchs-into-a-set-of-building-instruction-video-explanation" rel="nofollow">https://forum.pdpatchrepo.info/topic/12690/a-patch-to-transforme-patchs-into-a-set-of-building-instruction-video-explanation</a><br />
I like doing the connect messages and find them easier than the objects, which is why the objects are in their own messages and the connects all stuck in one, I always screw up the objects and pd's wonky text selecting causes me to screw them up even worse, separate messages helps to limit the damage.</p>
]]></description><link>http://forum.pdpatchrepo.info/topic/13934/inputs-into-midi/6</link><guid isPermaLink="true">http://forum.pdpatchrepo.info/topic/13934/inputs-into-midi/6</guid><dc:creator><![CDATA[oid]]></dc:creator><pubDate>Tue, 17 May 2022 09:54:16 GMT</pubDate></item><item><title><![CDATA[Reply to Inputs into MIDI on Tue, 17 May 2022 16:41:08 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-a" href="http://forum.pdpatchrepo.info/user/oid">@oid</a><br />
<a class="plugin-mentions-a" href="http://forum.pdpatchrepo.info/user/whale-av">@whale-av</a> said:</p>
<p>&quot;If the sub-patch is even only a little more complex it can be easier to dynamically create a whole abstraction that contains send and receive type objects, as a large quantity of [connect( or [disconnect( messages can spin your head off your neck.&quot;</p>
<hr />
<p>Yes ..... I didn't mean &quot;dynamically create an abstraction&quot;.<br />
It would have been clearer if I had written &quot;dynamically put an abstraction&quot;.</p>
<p>That is an interesting patch from <a class="plugin-mentions-a" href="http://forum.pdpatchrepo.info/user/il-pleut">@il-pleut</a> .<br />
<a class="plugin-mentions-a" href="http://forum.pdpatchrepo.info/user/liamg">@liamG</a> did a lot of work automating connections years ago.<br />
I cannot find his thread for that...... but what you linked to is at another level.</p>
<p>Some fun..... <a href="/uploads/files/1652805577920-dynamic_sends.pd">dynamic_sends.pd</a><br />
David.</p>
]]></description><link>http://forum.pdpatchrepo.info/topic/13934/inputs-into-midi/7</link><guid isPermaLink="true">http://forum.pdpatchrepo.info/topic/13934/inputs-into-midi/7</guid><dc:creator><![CDATA[whale-av]]></dc:creator><pubDate>Tue, 17 May 2022 16:41:08 GMT</pubDate></item><item><title><![CDATA[Reply to Inputs into MIDI on Tue, 17 May 2022 21:31:38 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-a" href="http://forum.pdpatchrepo.info/user/whale-av">@whale-av</a> said:</p>
<blockquote>
<p>Yes ..... I didn't mean &quot;dynamically create an abstraction&quot;.<br />
It would have been clearer if I had written &quot;dynamically put an abstraction&quot;.</p>
</blockquote>
<p>You were clear in what you said, I was just posting when I should have been sleeping so I missed the point and finished it all by rambling about completely irrelevant things.</p>
]]></description><link>http://forum.pdpatchrepo.info/topic/13934/inputs-into-midi/8</link><guid isPermaLink="true">http://forum.pdpatchrepo.info/topic/13934/inputs-into-midi/8</guid><dc:creator><![CDATA[oid]]></dc:creator><pubDate>Tue, 17 May 2022 21:31:38 GMT</pubDate></item></channel></rss>