<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://cycling74.com/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://cycling74.com/wiki/index.php?title=LFO_Tutorial,_Part_3&amp;feed=atom&amp;action=history</id>
		<title>LFO Tutorial, Part 3 - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://cycling74.com/wiki/index.php?title=LFO_Tutorial,_Part_3&amp;feed=atom&amp;action=history"/>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=LFO_Tutorial,_Part_3&amp;action=history"/>
		<updated>2013-05-22T14:11:03Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.19.1</generator>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=LFO_Tutorial,_Part_3&amp;diff=3752&amp;oldid=prev</id>
		<title>Max Gardener: /* Other LFO Tutorials */</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=LFO_Tutorial,_Part_3&amp;diff=3752&amp;oldid=prev"/>
				<updated>2013-02-18T01:04:25Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Other LFO Tutorials&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 01:04, 18 February 2013&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 83:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 83:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[LFO Tutorial,_Part_4|LFO Tutorial, Part 4: Building Complexity]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[LFO Tutorial,_Part_4|LFO Tutorial, Part 4: Building Complexity]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;http://cycling74.com/2010/02/05/lfo-tutorial-5-lfo-child-slight-return/ &lt;/del&gt;LFO Tutorial 5: LFO Childe (Slight Return)]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[LFO Tutorial,_Part_5|&lt;/ins&gt;LFO Tutorial&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, Part &lt;/ins&gt;5: LFO Childe (Slight Return)&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]&lt;/ins&gt;]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;http://cycling74.com/2010/2010/02/19/lfo-tutorial-6-live-if-you-want-it/ &lt;/del&gt;LFO Tutorial 6: Live If You Want It]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[LFO Tutorial,_Part_6|&lt;/ins&gt;LFO Tutorial&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, Part &lt;/ins&gt;6: Live If You Want It&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]&lt;/ins&gt;]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;http://cycling74.com/2010/03/03/lfo-tutorial-7-rattle-and-hum/ &lt;/del&gt;LFO Tutorial 7: Rattle and Hmmm]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[LFO Tutorial,_Part_7|&lt;/ins&gt;LFO Tutorial&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, Part &lt;/ins&gt;7: Rattle and Hmmm&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]&lt;/ins&gt;]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Max Gardener</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=LFO_Tutorial,_Part_3&amp;diff=3730&amp;oldid=prev</id>
		<title>Max Gardener at 17:03, 10 February 2013</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=LFO_Tutorial,_Part_3&amp;diff=3730&amp;oldid=prev"/>
				<updated>2013-02-10T17:03:18Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 17:03, 10 February 2013&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 9:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 9:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Click here] for a full-sized version of the patch image.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Click here] for a full-sized version of the patch image.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;==Coll Variety&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==Coll Variety==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;In the course of playing around with the '''LFOur''' - '''LFOur_vst''' and '''LFOur_out''' patches, I decided that - although I had considerable control over the patterns I could generate from a small number of pitches stored in a [http://www.cycling74.com/docs/max5/refpages/max-ref/coll.html coll] object - I would like to allow for more variety. In some cases (and working with VST drumboxes what what got me thinking about this), it was great to have a very small number of choices. I could limit those choices by changing the contents of the '''coll''' object I used when mapping output ''or'' I could experiment with different settings for the notevalue tempi of each of the four LFOs in combination with the rate at which I sampled the LFO output. In the course of experimenting with this, I realized that I could add the ability to work with multiple '''coll''' objects to my patch, or I could also consider changing the size of the range of notes ''in'' the '''coll''' object that I used when sampling (e.g., for an ostinato, the coll would only have two choices when scaling its output).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;In the course of playing around with the '''LFOur''' - '''LFOur_vst''' and '''LFOur_out''' patches, I decided that - although I had considerable control over the patterns I could generate from a small number of pitches stored in a [http://www.cycling74.com/docs/max5/refpages/max-ref/coll.html coll] object - I would like to allow for more variety. In some cases (and working with VST drumboxes what what got me thinking about this), it was great to have a very small number of choices. I could limit those choices by changing the contents of the '''coll''' object I used when mapping output ''or'' I could experiment with different settings for the notevalue tempi of each of the four LFOs in combination with the rate at which I sampled the LFO output. In the course of experimenting with this, I realized that I could add the ability to work with multiple '''coll''' objects to my patch, or I could also consider changing the size of the range of notes ''in'' the '''coll''' object that I used when sampling (e.g., for an ostinato, the coll would only have two choices when scaling its output).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 23:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 23:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Adding the ability to select a range within the '''coll''' object itself involved the addition of two new&amp;#160; [http://www.cycling74.com/docs/max5/refpages/max-ref/inlet.html inlet] objects to the '''notemap''' subpatch and the addition of a pair of ''''''number boxes''' ''' to the top level of the patch that specify the low and high output mapping values used by the '''scale''' object that is used to map LFO outputs to MIDI note numbers. A nice side effect of this choice is that I no longer care ''how'' large the '''coll''' object I'm using with the patch is - I can set it to any set of high and low values to work with different lengths for the '''coll''' objects' contents (just change the high number) or map subsets of the '''coll''' object contents by changing both values (0-15, 8-23, 60-63, etc.). And I have added the two '''number boxes''' that set the low and high scaling values to the pattr registry in the patch by giving each '''number box''' a scripting name using the Inspector, so that my presets now automatically recall my mapping ranges as part of the patch preset.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Adding the ability to select a range within the '''coll''' object itself involved the addition of two new&amp;#160; [http://www.cycling74.com/docs/max5/refpages/max-ref/inlet.html inlet] objects to the '''notemap''' subpatch and the addition of a pair of ''''''number boxes''' ''' to the top level of the patch that specify the low and high output mapping values used by the '''scale''' object that is used to map LFO outputs to MIDI note numbers. A nice side effect of this choice is that I no longer care ''how'' large the '''coll''' object I'm using with the patch is - I can set it to any set of high and low values to work with different lengths for the '''coll''' objects' contents (just change the high number) or map subsets of the '''coll''' object contents by changing both values (0-15, 8-23, 60-63, etc.). And I have added the two '''number boxes''' that set the low and high scaling values to the pattr registry in the patch by giving each '''number box''' a scripting name using the Inspector, so that my presets now automatically recall my mapping ranges as part of the patch preset.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;==A Tale of Two Objects&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==A Tale of Two Objects==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The values I'm sending to the two newly added rightmost inlets of the '''notemap''' subpatch are used to set the arguments to a&amp;#160; [http://www.cycling74.com/docs/max5/refpages/max-ref/scale.html scale]object. As any reasonably seasoned Max user will tell you, there are two different Max objects commonly used for linear mapping: the '''scale''' and&amp;#160; [http://www.cycling74.com/docs/max5/refpages/max-ref/zmap.html zmap] objects (just in case you need to be reminded again that there is nearly always another way to do nearly anything using Max!). While they'll both go a fine job of performing linear mapping of one set of values in a range to values within a different range - in this case, mapping values in the range 0-127 that the '''LFOur''' patch sends me to a range that matches the size of my '''coll''' object - there's a reason I prefer using the '''scale''' object: I can '''invert''' the values used when mapping outputs, which lets me count “backwards” through a '''coll''' object's contents. So I can also now read my '''coll''' object forward ''or'' backward.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The values I'm sending to the two newly added rightmost inlets of the '''notemap''' subpatch are used to set the arguments to a&amp;#160; [http://www.cycling74.com/docs/max5/refpages/max-ref/scale.html scale]object. As any reasonably seasoned Max user will tell you, there are two different Max objects commonly used for linear mapping: the '''scale''' and&amp;#160; [http://www.cycling74.com/docs/max5/refpages/max-ref/zmap.html zmap] objects (just in case you need to be reminded again that there is nearly always another way to do nearly anything using Max!). While they'll both go a fine job of performing linear mapping of one set of values in a range to values within a different range - in this case, mapping values in the range 0-127 that the '''LFOur''' patch sends me to a range that matches the size of my '''coll''' object - there's a reason I prefer using the '''scale''' object: I can '''invert''' the values used when mapping outputs, which lets me count “backwards” through a '''coll''' object's contents. So I can also now read my '''coll''' object forward ''or'' backward.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 33:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 33:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The '''zmap''' object ''does'' clip its outputs, although it won't invert output ranges (Is this a bit of fabled “secret” Max arcana? Not really, but I'm always surprised at the number of people who haven't noticed this). Since I'm using a '''scale''' object, I've used the minimum and maximum attributes of the '''number box''' object using the object ‘s Inspector to automatically clip my input ranges in my patch. Once set, you cannot type a number less than 0 or greater than 63 into either range '''number box'''. This is a trick I use often when patching.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The '''zmap''' object ''does'' clip its outputs, although it won't invert output ranges (Is this a bit of fabled “secret” Max arcana? Not really, but I'm always surprised at the number of people who haven't noticed this). Since I'm using a '''scale''' object, I've used the minimum and maximum attributes of the '''number box''' object using the object ‘s Inspector to automatically clip my input ranges in my patch. Once set, you cannot type a number less than 0 or greater than 63 into either range '''number box'''. This is a trick I use often when patching.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;==Steering the Generative Bus&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==Steering the Generative Bus==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The astute and observant reader will notice that the biggest change in the '''LFOurGenerator''' patch has to do with the patching that surrounds the&amp;#160; [http://www.cycling74.com/docs/max5/refpages/max-ref/transport.html transport] object, and includes a quartet of objects we haven't seen in any of the patches to date: the&amp;#160; [http://www.cycling74.com/docs/max5/refpages/max-ref/timepoint.html timepoint] object.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The astute and observant reader will notice that the biggest change in the '''LFOurGenerator''' patch has to do with the patching that surrounds the&amp;#160; [http://www.cycling74.com/docs/max5/refpages/max-ref/transport.html transport] object, and includes a quartet of objects we haven't seen in any of the patches to date: the&amp;#160; [http://www.cycling74.com/docs/max5/refpages/max-ref/timepoint.html timepoint] object.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 63:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 63:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;If you unlock the patch, you'll also see that I've connected the third outlet of the '''preset''' object to the '''umenu''' and '''textbutton''' objects attached to the second and third '''timepoint''' objects in order to have them ''not'' be affected when the first '''timepoint''' object changes patch presets. The one other thing you might stop to wonder about is why there's a&amp;#160; [http://www.cycling74.com/docs/max5/refpages/max-ref/metro.html metro] object attached to the transport, and why doesn't it have a toggle switch of its own? The answer is that in order to get a current bar/beat/unit output from the transport object, it needs to receive its own bang message, and that's what this '''metro''' object provides. Notice that the '''metro''' object sets two attributes: ''autostart ''and ''autostarttime''. Setting the ''autostart'' attribute to one means that this '''metro''' will start any time that the transport itself starts, and the ''autostarttime'' attribute tells this metro to always start counting from timepoint 0 when it's started up. This '''metro''' is the reason that we can see the bars and beats display updating.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;If you unlock the patch, you'll also see that I've connected the third outlet of the '''preset''' object to the '''umenu''' and '''textbutton''' objects attached to the second and third '''timepoint''' objects in order to have them ''not'' be affected when the first '''timepoint''' object changes patch presets. The one other thing you might stop to wonder about is why there's a&amp;#160; [http://www.cycling74.com/docs/max5/refpages/max-ref/metro.html metro] object attached to the transport, and why doesn't it have a toggle switch of its own? The answer is that in order to get a current bar/beat/unit output from the transport object, it needs to receive its own bang message, and that's what this '''metro''' object provides. Notice that the '''metro''' object sets two attributes: ''autostart ''and ''autostarttime''. Setting the ''autostart'' attribute to one means that this '''metro''' will start any time that the transport itself starts, and the ''autostarttime'' attribute tells this metro to always start counting from timepoint 0 when it's started up. This '''metro''' is the reason that we can see the bars and beats display updating.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;==A Closing Word&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==A Closing Word==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;So this patch lets us configure a larger scale generative structure - it uses '''timepoint''' objects to set the point at which changes will occur, and uses messages to modify not only the patch itself (using messages to the '''preset''' object), but also to modify and set the behavior of the '''LFOur''' patch itself.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;So this patch lets us configure a larger scale generative structure - it uses '''timepoint''' objects to set the point at which changes will occur, and uses messages to modify not only the patch itself (using messages to the '''preset''' object), but also to modify and set the behavior of the '''LFOur''' patch itself.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 81:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 81:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[LFO Tutorial,_Part_3|LFO Tutorial, Part 3: Extending Our Generators]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[LFO Tutorial,_Part_3|LFO Tutorial, Part 3: Extending Our Generators]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;http://cycling74.com/2009/06/19/lfo-tutorial-4-building-complexity/ &lt;/del&gt;LFO Tutorial 4: Building Complexity]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[LFO Tutorial,_Part_4|&lt;/ins&gt;LFO Tutorial&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, Part &lt;/ins&gt;4: Building Complexity&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]&lt;/ins&gt;]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://cycling74.com/2010/02/05/lfo-tutorial-5-lfo-child-slight-return/ LFO Tutorial 5: LFO Childe (Slight Return)]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://cycling74.com/2010/02/05/lfo-tutorial-5-lfo-child-slight-return/ LFO Tutorial 5: LFO Childe (Slight Return)]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Max Gardener</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=LFO_Tutorial,_Part_3&amp;diff=3722&amp;oldid=prev</id>
		<title>Max Gardener at 16:27, 10 February 2013</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=LFO_Tutorial,_Part_3&amp;diff=3722&amp;oldid=prev"/>
				<updated>2013-02-10T16:27:55Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 16:27, 10 February 2013&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 75:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 75:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;====Other LFO Tutorials====&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;====Other LFO Tutorials====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;http://cycling74.com/2008/07/15/lfo-tutorial-1-the-zen-of-the-silent-patch/ &lt;/del&gt;LFO Tutorial 1: The Zen of the Silent Patch]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[LFO Tutorial,_Part_1|&lt;/ins&gt;LFO Tutorial&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, Part &lt;/ins&gt;1: The Zen of the Silent Patch&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]&lt;/ins&gt;]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;http://cycling74.com/2008/08/19/lfo-tutorial-2-making-some-noise/ &lt;/del&gt;LFO Tutorial 2: Making Some Noise]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[LFO Tutorial,_Part_2|&lt;/ins&gt;LFO Tutorial&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, Part &lt;/ins&gt;2: Making Some Noise&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]&lt;/ins&gt;]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;http://cycling74.com/2008/10/28/lfo-tutorial-3-extending-our-generators/ &lt;/del&gt;LFO Tutorial 3: Extending Our Generators]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[LFO Tutorial,_Part_3|&lt;/ins&gt;LFO Tutorial&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, Part &lt;/ins&gt;3: Extending Our Generators&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]&lt;/ins&gt;]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://cycling74.com/2009/06/19/lfo-tutorial-4-building-complexity/ LFO Tutorial 4: Building Complexity]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://cycling74.com/2009/06/19/lfo-tutorial-4-building-complexity/ LFO Tutorial 4: Building Complexity]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Max Gardener</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=LFO_Tutorial,_Part_3&amp;diff=3721&amp;oldid=prev</id>
		<title>Max Gardener at 16:19, 10 February 2013</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=LFO_Tutorial,_Part_3&amp;diff=3721&amp;oldid=prev"/>
				<updated>2013-02-10T16:19:05Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 16:19, 10 February 2013&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/lfour3_patches.zip Download the patches used in this tutorial]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;/gt_LFO_3&lt;/ins&gt;/lfour3_patches.zip Download the patches used in this tutorial]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==Extending Our Generators==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==Extending Our Generators==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Now that I've got a nice generative patch and a way to hear it, I thought it'd be nice to make a few improvements and extensions that would let me begin to specify larger structures - to generate instructions to my generative patch, as it were. While I'm sure that the world is full of people who want ways to have the same thing happen again and again, I'd like to do this in ways that offer a little more freedom than that. This short tutorial will add a modest number of these kinds of changes.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Now that I've got a nice generative patch and a way to hear it, I thought it'd be nice to make a few improvements and extensions that would let me begin to specify larger structures - to generate instructions to my generative patch, as it were. While I'm sure that the world is full of people who want ways to have the same thing happen again and again, I'd like to do this in ways that offer a little more freedom than that. This short tutorial will add a modest number of these kinds of changes.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;img&amp;gt;http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/generator_patchsm.jpg&amp;lt;/img&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;img&amp;gt;http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;/gt_LFO_3&lt;/ins&gt;/generator_patchsm.jpg&amp;lt;/img&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Click here] for a full-sized version of the patch image.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Click here] for a full-sized version of the patch image.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 17:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 17:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;First, I'd like to have the opportunity to use more than one '''coll''' object in order to vary the set of pitches I use when mapping the '''LFOur''' patch's output. I added a single [http://www.cycling74.com/docs/max5/refpages/max-ref/receive.html receive] object connected to the '''coll'''.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;First, I'd like to have the opportunity to use more than one '''coll''' object in order to vary the set of pitches I use when mapping the '''LFOur''' patch's output. I added a single [http://www.cycling74.com/docs/max5/refpages/max-ref/receive.html receive] object connected to the '''coll'''.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;img&amp;gt;http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/notemap_new.jpg&amp;lt;/img&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;img&amp;gt;http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;/gt_LFO_3&lt;/ins&gt;/notemap_new.jpg&amp;lt;/img&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Whenever I send the message ''refer'' followed by the name of a '''coll''' object in my patch to an '''s ref''' object, I'll switch the coll that's used when mapping output.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Whenever I send the message ''refer'' followed by the name of a '''coll''' object in my patch to an '''s ref''' object, I'll switch the coll that's used when mapping output.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 29:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 29:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Note: Another difference between the '''scale''' and '''zmap''' objects is equally subtle: although the '''scale''' object will let you reverse the range values when mapping output, it won't clip output values so that the fall within that range - if you feed it a very high value, it'll faithfully map it waay outside the output range you think you've specified.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Note: Another difference between the '''scale''' and '''zmap''' objects is equally subtle: although the '''scale''' object will let you reverse the range values when mapping output, it won't clip output values so that the fall within that range - if you feed it a very high value, it'll faithfully map it waay outside the output range you think you've specified.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;img&amp;gt;http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/two_objects.jpg&amp;lt;/img&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;img&amp;gt;http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;/gt_LFO_3&lt;/ins&gt;/two_objects.jpg&amp;lt;/img&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The '''zmap''' object ''does'' clip its outputs, although it won't invert output ranges (Is this a bit of fabled “secret” Max arcana? Not really, but I'm always surprised at the number of people who haven't noticed this). Since I'm using a '''scale''' object, I've used the minimum and maximum attributes of the '''number box''' object using the object ‘s Inspector to automatically clip my input ranges in my patch. Once set, you cannot type a number less than 0 or greater than 63 into either range '''number box'''. This is a trick I use often when patching.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The '''zmap''' object ''does'' clip its outputs, although it won't invert output ranges (Is this a bit of fabled “secret” Max arcana? Not really, but I'm always surprised at the number of people who haven't noticed this). Since I'm using a '''scale''' object, I've used the minimum and maximum attributes of the '''number box''' object using the object ‘s Inspector to automatically clip my input ranges in my patch. Once set, you cannot type a number less than 0 or greater than 63 into either range '''number box'''. This is a trick I use often when patching.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 37:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 37:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The astute and observant reader will notice that the biggest change in the '''LFOurGenerator''' patch has to do with the patching that surrounds the&amp;#160; [http://www.cycling74.com/docs/max5/refpages/max-ref/transport.html transport] object, and includes a quartet of objects we haven't seen in any of the patches to date: the&amp;#160; [http://www.cycling74.com/docs/max5/refpages/max-ref/timepoint.html timepoint] object.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The astute and observant reader will notice that the biggest change in the '''LFOurGenerator''' patch has to do with the patching that surrounds the&amp;#160; [http://www.cycling74.com/docs/max5/refpages/max-ref/transport.html transport] object, and includes a quartet of objects we haven't seen in any of the patches to date: the&amp;#160; [http://www.cycling74.com/docs/max5/refpages/max-ref/timepoint.html timepoint] object.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;img&amp;gt;http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/transport_additions.jpg&amp;lt;/img&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;img&amp;gt;http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;/gt_LFO_3&lt;/ins&gt;/transport_additions.jpg&amp;lt;/img&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Each of these four '''timepoint''' objects takes as its argument a time point, specified in bars, beats, and units - one of the timing formats that Max uses. The objects' function itself is pretty straight-ahead: when the transport reaches a timepoint specified by the argument, the '''timepoint''' object sends a bang message. In this patch, The '''timepoint''' objects control a couple of things:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Each of these four '''timepoint''' objects takes as its argument a time point, specified in bars, beats, and units - one of the timing formats that Max uses. The objects' function itself is pretty straight-ahead: when the transport reaches a timepoint specified by the argument, the '''timepoint''' object sends a bang message. In this patch, The '''timepoint''' objects control a couple of things:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 43:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 43:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The first '''timepoint''' object increments a counter used to step through the presets for the '''LFOurGenerator''' patch itself. These presets keep track of the sources, notevalues, and range of values from the '''LFOur''' patch to be sampled and used as inputs.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The first '''timepoint''' object increments a counter used to step through the presets for the '''LFOurGenerator''' patch itself. These presets keep track of the sources, notevalues, and range of values from the '''LFOur''' patch to be sampled and used as inputs.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;img&amp;gt;http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/timepoint1.jpg&amp;lt;/img&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;img&amp;gt;http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;/gt_LFO_3&lt;/ins&gt;/timepoint1.jpg&amp;lt;/img&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The second '''timepoint''' object uses a counter to step through a sequence of numbers used to set the sampling rate of the '''LFOur''' patch itself by sending a value to the receive destination ''L4samp_rate'' in the '''LFOur''' patch. Setting a greater sampling rate means that there is more variety in the sequence generated by any LFO.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The second '''timepoint''' object uses a counter to step through a sequence of numbers used to set the sampling rate of the '''LFOur''' patch itself by sending a value to the receive destination ''L4samp_rate'' in the '''LFOur''' patch. Setting a greater sampling rate means that there is more variety in the sequence generated by any LFO.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;img&amp;gt;http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/timepoint2.jpg&amp;lt;/img&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;img&amp;gt;http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;/gt_LFO_3&lt;/ins&gt;/timepoint2.jpg&amp;lt;/img&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The third '''timepoint''' object uses a&amp;#160; [http://www.cycling74.com/docs/max5/refpages/max-ref/textbutton.html textbutton] object as a toggle, and will alternately send the message ''refer sequence_1'' and ''refer sequence_2'' to the '''receive''' object&amp;#160; located in our '''notemap''' subpatcher, changing which '''coll''' object in our patch is used for note values.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The third '''timepoint''' object uses a&amp;#160; [http://www.cycling74.com/docs/max5/refpages/max-ref/textbutton.html textbutton] object as a toggle, and will alternately send the message ''refer sequence_1'' and ''refer sequence_2'' to the '''receive''' object&amp;#160; located in our '''notemap''' subpatcher, changing which '''coll''' object in our patch is used for note values.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;img&amp;gt;http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/timepoint3.jpg&amp;lt;/img&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;img&amp;gt;http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;/gt_LFO_3&lt;/ins&gt;/timepoint3.jpg&amp;lt;/img&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The final '''timepoint''' object serves several different functions: The first and perhaps most interesting thing it does is to reset the transport (by sending the message 0. to the right inlet of the transport object), effectively creating an 8-bar “loop” which cycles over and over. But it also controls a '''counter''' and '''coll''' object pair that sends messages that change the presets used in the '''LFOur''' patch to change the operation of the LFOur object while the patch runs. Finally, when a complete cycle of the counter is finished, a bang is sent out the “carry count” outlet of the '''counter''' object and used to turn off the transport.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The final '''timepoint''' object serves several different functions: The first and perhaps most interesting thing it does is to reset the transport (by sending the message 0. to the right inlet of the transport object), effectively creating an 8-bar “loop” which cycles over and over. But it also controls a '''counter''' and '''coll''' object pair that sends messages that change the presets used in the '''LFOur''' patch to change the operation of the LFOur object while the patch runs. Finally, when a complete cycle of the counter is finished, a bang is sent out the “carry count” outlet of the '''counter''' object and used to turn off the transport.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;img&amp;gt;http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/timepoint4.jpg&amp;lt;/img&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;img&amp;gt;http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;/gt_LFO_3&lt;/ins&gt;/timepoint4.jpg&amp;lt;/img&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;You'll notice that I added a&amp;#160; [http://www.cycling74.com/docs/max5/refpages/max-ref/trigger.html trigger] object directly below the large toggle to initialize the state of all my counters and toggles whenever I turn the transport on, and another toggle that actually turns on the transport. You might want to have a look at the patching around the transport object a little more closely.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;You'll notice that I added a&amp;#160; [http://www.cycling74.com/docs/max5/refpages/max-ref/trigger.html trigger] object directly below the large toggle to initialize the state of all my counters and toggles whenever I turn the transport on, and another toggle that actually turns on the transport. You might want to have a look at the patching around the transport object a little more closely.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;img&amp;gt;http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/transport_additions2.jpg&amp;lt;/img&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;img&amp;gt;http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;/gt_LFO_3&lt;/ins&gt;/transport_additions2.jpg&amp;lt;/img&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;If you unlock the patch, you'll also see that I've connected the third outlet of the '''preset''' object to the '''umenu''' and '''textbutton''' objects attached to the second and third '''timepoint''' objects in order to have them ''not'' be affected when the first '''timepoint''' object changes patch presets. The one other thing you might stop to wonder about is why there's a&amp;#160; [http://www.cycling74.com/docs/max5/refpages/max-ref/metro.html metro] object attached to the transport, and why doesn't it have a toggle switch of its own? The answer is that in order to get a current bar/beat/unit output from the transport object, it needs to receive its own bang message, and that's what this '''metro''' object provides. Notice that the '''metro''' object sets two attributes: ''autostart ''and ''autostarttime''. Setting the ''autostart'' attribute to one means that this '''metro''' will start any time that the transport itself starts, and the ''autostarttime'' attribute tells this metro to always start counting from timepoint 0 when it's started up. This '''metro''' is the reason that we can see the bars and beats display updating.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;If you unlock the patch, you'll also see that I've connected the third outlet of the '''preset''' object to the '''umenu''' and '''textbutton''' objects attached to the second and third '''timepoint''' objects in order to have them ''not'' be affected when the first '''timepoint''' object changes patch presets. The one other thing you might stop to wonder about is why there's a&amp;#160; [http://www.cycling74.com/docs/max5/refpages/max-ref/metro.html metro] object attached to the transport, and why doesn't it have a toggle switch of its own? The answer is that in order to get a current bar/beat/unit output from the transport object, it needs to receive its own bang message, and that's what this '''metro''' object provides. Notice that the '''metro''' object sets two attributes: ''autostart ''and ''autostarttime''. Setting the ''autostart'' attribute to one means that this '''metro''' will start any time that the transport itself starts, and the ''autostarttime'' attribute tells this metro to always start counting from timepoint 0 when it's started up. This '''metro''' is the reason that we can see the bars and beats display updating.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 69:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 69:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Of course, you don't have to stop there - you can route the same control information to other parts of your Max patch to control how various VST instruments are mixed, to adjust plug-in settings, and so on. Here's an MP3 example that uses this patch and some things I've added that I'll let you imagine. Sorry about the reverb - I've recently downloaded an Altiverb impulse response from [http://www.audioease.com/IR/VenuePages/golgumbaz.html Gol Gumbaz] in India that I'm in love with. It seemed like just the thing.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Of course, you don't have to stop there - you can route the same control information to other parts of your Max patch to control how various VST instruments are mixed, to adjust plug-in settings, and so on. Here's an MP3 example that uses this patch and some things I've added that I'll let you imagine. Sorry about the reverb - I've recently downloaded an Altiverb impulse response from [http://www.audioease.com/IR/VenuePages/golgumbaz.html Gol Gumbaz] in India that I'm in love with. It seemed like just the thing.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/gt_lfour3_bigwetgrid.mp3 bigwetgrid.mp3]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;/gt_LFO_3&lt;/ins&gt;/gt_lfour3_bigwetgrid.mp3 bigwetgrid.mp3]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;I hope this trio of tutorials has been interesting and enlightening thus far. While your mileage on the examples I've provided may vary, I'm sure you can create interesting kinds of mayhem of your own based on what's here. So don't fare well, fare forward.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;I hope this trio of tutorials has been interesting and enlightening thus far. While your mileage on the examples I've provided may vary, I'm sure you can create interesting kinds of mayhem of your own based on what's here. So don't fare well, fare forward.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Max Gardener</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=LFO_Tutorial,_Part_3&amp;diff=3715&amp;oldid=prev</id>
		<title>Max Gardener: Created page with &quot;[http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/lfour3_patches.zip Download the patches used in this tutorial]  ==Extending Our Generators==  Now that I've got a nice...&quot;</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=LFO_Tutorial,_Part_3&amp;diff=3715&amp;oldid=prev"/>
				<updated>2013-02-10T15:39:52Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;[http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/lfour3_patches.zip Download the patches used in this tutorial]  ==Extending Our Generators==  Now that I&amp;#039;ve got a nice...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/lfour3_patches.zip Download the patches used in this tutorial]&lt;br /&gt;
&lt;br /&gt;
==Extending Our Generators==&lt;br /&gt;
&lt;br /&gt;
Now that I've got a nice generative patch and a way to hear it, I thought it'd be nice to make a few improvements and extensions that would let me begin to specify larger structures - to generate instructions to my generative patch, as it were. While I'm sure that the world is full of people who want ways to have the same thing happen again and again, I'd like to do this in ways that offer a little more freedom than that. This short tutorial will add a modest number of these kinds of changes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img&amp;gt;http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/generator_patchsm.jpg&amp;lt;/img&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Click here] for a full-sized version of the patch image.&lt;br /&gt;
&lt;br /&gt;
===Coll Variety===&lt;br /&gt;
&lt;br /&gt;
In the course of playing around with the '''LFOur''' - '''LFOur_vst''' and '''LFOur_out''' patches, I decided that - although I had considerable control over the patterns I could generate from a small number of pitches stored in a [http://www.cycling74.com/docs/max5/refpages/max-ref/coll.html coll] object - I would like to allow for more variety. In some cases (and working with VST drumboxes what what got me thinking about this), it was great to have a very small number of choices. I could limit those choices by changing the contents of the '''coll''' object I used when mapping output ''or'' I could experiment with different settings for the notevalue tempi of each of the four LFOs in combination with the rate at which I sampled the LFO output. In the course of experimenting with this, I realized that I could add the ability to work with multiple '''coll''' objects to my patch, or I could also consider changing the size of the range of notes ''in'' the '''coll''' object that I used when sampling (e.g., for an ostinato, the coll would only have two choices when scaling its output).&lt;br /&gt;
&lt;br /&gt;
After some thought, I decided that since neither addition was very complicated, I'd add '''both''' options.&lt;br /&gt;
&lt;br /&gt;
First, I'd like to have the opportunity to use more than one '''coll''' object in order to vary the set of pitches I use when mapping the '''LFOur''' patch's output. I added a single [http://www.cycling74.com/docs/max5/refpages/max-ref/receive.html receive] object connected to the '''coll'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img&amp;gt;http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/notemap_new.jpg&amp;lt;/img&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Whenever I send the message ''refer'' followed by the name of a '''coll''' object in my patch to an '''s ref''' object, I'll switch the coll that's used when mapping output.&lt;br /&gt;
&lt;br /&gt;
Adding the ability to select a range within the '''coll''' object itself involved the addition of two new  [http://www.cycling74.com/docs/max5/refpages/max-ref/inlet.html inlet] objects to the '''notemap''' subpatch and the addition of a pair of ''''''number boxes''' ''' to the top level of the patch that specify the low and high output mapping values used by the '''scale''' object that is used to map LFO outputs to MIDI note numbers. A nice side effect of this choice is that I no longer care ''how'' large the '''coll''' object I'm using with the patch is - I can set it to any set of high and low values to work with different lengths for the '''coll''' objects' contents (just change the high number) or map subsets of the '''coll''' object contents by changing both values (0-15, 8-23, 60-63, etc.). And I have added the two '''number boxes''' that set the low and high scaling values to the pattr registry in the patch by giving each '''number box''' a scripting name using the Inspector, so that my presets now automatically recall my mapping ranges as part of the patch preset.&lt;br /&gt;
&lt;br /&gt;
===A Tale of Two Objects===&lt;br /&gt;
&lt;br /&gt;
The values I'm sending to the two newly added rightmost inlets of the '''notemap''' subpatch are used to set the arguments to a  [http://www.cycling74.com/docs/max5/refpages/max-ref/scale.html scale]object. As any reasonably seasoned Max user will tell you, there are two different Max objects commonly used for linear mapping: the '''scale''' and  [http://www.cycling74.com/docs/max5/refpages/max-ref/zmap.html zmap] objects (just in case you need to be reminded again that there is nearly always another way to do nearly anything using Max!). While they'll both go a fine job of performing linear mapping of one set of values in a range to values within a different range - in this case, mapping values in the range 0-127 that the '''LFOur''' patch sends me to a range that matches the size of my '''coll''' object - there's a reason I prefer using the '''scale''' object: I can '''invert''' the values used when mapping outputs, which lets me count “backwards” through a '''coll''' object's contents. So I can also now read my '''coll''' object forward ''or'' backward.&lt;br /&gt;
&lt;br /&gt;
Note: Another difference between the '''scale''' and '''zmap''' objects is equally subtle: although the '''scale''' object will let you reverse the range values when mapping output, it won't clip output values so that the fall within that range - if you feed it a very high value, it'll faithfully map it waay outside the output range you think you've specified.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img&amp;gt;http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/two_objects.jpg&amp;lt;/img&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The '''zmap''' object ''does'' clip its outputs, although it won't invert output ranges (Is this a bit of fabled “secret” Max arcana? Not really, but I'm always surprised at the number of people who haven't noticed this). Since I'm using a '''scale''' object, I've used the minimum and maximum attributes of the '''number box''' object using the object ‘s Inspector to automatically clip my input ranges in my patch. Once set, you cannot type a number less than 0 or greater than 63 into either range '''number box'''. This is a trick I use often when patching.&lt;br /&gt;
&lt;br /&gt;
===Steering the Generative Bus===&lt;br /&gt;
&lt;br /&gt;
The astute and observant reader will notice that the biggest change in the '''LFOurGenerator''' patch has to do with the patching that surrounds the  [http://www.cycling74.com/docs/max5/refpages/max-ref/transport.html transport] object, and includes a quartet of objects we haven't seen in any of the patches to date: the  [http://www.cycling74.com/docs/max5/refpages/max-ref/timepoint.html timepoint] object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img&amp;gt;http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/transport_additions.jpg&amp;lt;/img&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Each of these four '''timepoint''' objects takes as its argument a time point, specified in bars, beats, and units - one of the timing formats that Max uses. The objects' function itself is pretty straight-ahead: when the transport reaches a timepoint specified by the argument, the '''timepoint''' object sends a bang message. In this patch, The '''timepoint''' objects control a couple of things:&lt;br /&gt;
&lt;br /&gt;
* The first '''timepoint''' object increments a counter used to step through the presets for the '''LFOurGenerator''' patch itself. These presets keep track of the sources, notevalues, and range of values from the '''LFOur''' patch to be sampled and used as inputs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img&amp;gt;http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/timepoint1.jpg&amp;lt;/img&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The second '''timepoint''' object uses a counter to step through a sequence of numbers used to set the sampling rate of the '''LFOur''' patch itself by sending a value to the receive destination ''L4samp_rate'' in the '''LFOur''' patch. Setting a greater sampling rate means that there is more variety in the sequence generated by any LFO.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img&amp;gt;http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/timepoint2.jpg&amp;lt;/img&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The third '''timepoint''' object uses a  [http://www.cycling74.com/docs/max5/refpages/max-ref/textbutton.html textbutton] object as a toggle, and will alternately send the message ''refer sequence_1'' and ''refer sequence_2'' to the '''receive''' object  located in our '''notemap''' subpatcher, changing which '''coll''' object in our patch is used for note values.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img&amp;gt;http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/timepoint3.jpg&amp;lt;/img&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The final '''timepoint''' object serves several different functions: The first and perhaps most interesting thing it does is to reset the transport (by sending the message 0. to the right inlet of the transport object), effectively creating an 8-bar “loop” which cycles over and over. But it also controls a '''counter''' and '''coll''' object pair that sends messages that change the presets used in the '''LFOur''' patch to change the operation of the LFOur object while the patch runs. Finally, when a complete cycle of the counter is finished, a bang is sent out the “carry count” outlet of the '''counter''' object and used to turn off the transport.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img&amp;gt;http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/timepoint4.jpg&amp;lt;/img&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You'll notice that I added a  [http://www.cycling74.com/docs/max5/refpages/max-ref/trigger.html trigger] object directly below the large toggle to initialize the state of all my counters and toggles whenever I turn the transport on, and another toggle that actually turns on the transport. You might want to have a look at the patching around the transport object a little more closely.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img&amp;gt;http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/transport_additions2.jpg&amp;lt;/img&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you unlock the patch, you'll also see that I've connected the third outlet of the '''preset''' object to the '''umenu''' and '''textbutton''' objects attached to the second and third '''timepoint''' objects in order to have them ''not'' be affected when the first '''timepoint''' object changes patch presets. The one other thing you might stop to wonder about is why there's a  [http://www.cycling74.com/docs/max5/refpages/max-ref/metro.html metro] object attached to the transport, and why doesn't it have a toggle switch of its own? The answer is that in order to get a current bar/beat/unit output from the transport object, it needs to receive its own bang message, and that's what this '''metro''' object provides. Notice that the '''metro''' object sets two attributes: ''autostart ''and ''autostarttime''. Setting the ''autostart'' attribute to one means that this '''metro''' will start any time that the transport itself starts, and the ''autostarttime'' attribute tells this metro to always start counting from timepoint 0 when it's started up. This '''metro''' is the reason that we can see the bars and beats display updating.&lt;br /&gt;
&lt;br /&gt;
===A Closing Word===&lt;br /&gt;
&lt;br /&gt;
So this patch lets us configure a larger scale generative structure - it uses '''timepoint''' objects to set the point at which changes will occur, and uses messages to modify not only the patch itself (using messages to the '''preset''' object), but also to modify and set the behavior of the '''LFOur''' patch itself.&lt;br /&gt;
&lt;br /&gt;
Of course, you don't have to stop there - you can route the same control information to other parts of your Max patch to control how various VST instruments are mixed, to adjust plug-in settings, and so on. Here's an MP3 example that uses this patch and some things I've added that I'll let you imagine. Sorry about the reverb - I've recently downloaded an Altiverb impulse response from [http://www.audioease.com/IR/VenuePages/golgumbaz.html Gol Gumbaz] in India that I'm in love with. It seemed like just the thing.&lt;br /&gt;
&lt;br /&gt;
[http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/gt_lfour3_bigwetgrid.mp3 bigwetgrid.mp3]&lt;br /&gt;
&lt;br /&gt;
I hope this trio of tutorials has been interesting and enlightening thus far. While your mileage on the examples I've provided may vary, I'm sure you can create interesting kinds of mayhem of your own based on what's here. So don't fare well, fare forward.&lt;br /&gt;
&lt;br /&gt;
====Other LFO Tutorials====&lt;br /&gt;
&lt;br /&gt;
* [http://cycling74.com/2008/07/15/lfo-tutorial-1-the-zen-of-the-silent-patch/ LFO Tutorial 1: The Zen of the Silent Patch]&lt;br /&gt;
&lt;br /&gt;
* [http://cycling74.com/2008/08/19/lfo-tutorial-2-making-some-noise/ LFO Tutorial 2: Making Some Noise]&lt;br /&gt;
&lt;br /&gt;
* [http://cycling74.com/2008/10/28/lfo-tutorial-3-extending-our-generators/ LFO Tutorial 3: Extending Our Generators]&lt;br /&gt;
&lt;br /&gt;
* [http://cycling74.com/2009/06/19/lfo-tutorial-4-building-complexity/ LFO Tutorial 4: Building Complexity]&lt;br /&gt;
&lt;br /&gt;
* [http://cycling74.com/2010/02/05/lfo-tutorial-5-lfo-child-slight-return/ LFO Tutorial 5: LFO Childe (Slight Return)]&lt;br /&gt;
&lt;br /&gt;
* [http://cycling74.com/2010/2010/02/19/lfo-tutorial-6-live-if-you-want-it/ LFO Tutorial 6: Live If You Want It]&lt;br /&gt;
&lt;br /&gt;
* [http://cycling74.com/2010/03/03/lfo-tutorial-7-rattle-and-hum/ LFO Tutorial 7: Rattle and Hmmm]&lt;/div&gt;</summary>
		<author><name>Max Gardener</name></author>	</entry>

	</feed>