<?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/api.php?action=feedcontributions&amp;user=Ddg%40cycling74.com&amp;feedformat=atom</id>
		<title>Cycling '74 Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://cycling74.com/wiki/api.php?action=feedcontributions&amp;user=Ddg%40cycling74.com&amp;feedformat=atom"/>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=Special:Contributions/Ddg@cycling74.com"/>
		<updated>2013-05-25T18:43:17Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.19.1</generator>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=function</id>
		<title>function</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=function"/>
				<updated>2013-05-22T17:18:00Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[//www.cycling74.com/docs/max6/dynamic/c74_docs.html#function function online refpage]==&lt;br /&gt;
&lt;br /&gt;
==Using the {{maxword|name=function}} object==&lt;br /&gt;
&lt;br /&gt;
You can use the {{maxword|name=function}} object in two ways: as a generator of level/time pairs for line~ and curve~, and as a transfer function calculator. The first mode requires two messages: '''bang''' and '''next'''. The '''bang''' message produces a series of level/time pairs that represent all of the points up to the first sustain point. Subsequent sections of the envelope need to be accessed by sending the '''next''' message. This is appropriate for creating musically-useful modulation envelopes for amplitude, filtering and pitch.&lt;br /&gt;
&lt;br /&gt;
[[File:function-envelope.gif]]&lt;br /&gt;
&lt;br /&gt;
The {{maxword|name=function}} object has two curvature modes: &amp;quot;linear&amp;quot; and &amp;quot;curve&amp;quot;. When in the linear mode, the output will output value pairs that represent the time and target value for each of the points in the function display. Typically, this output is sent to a {{maxword|name=line~}} object, which can be used to drive almost any object at audio rate.&lt;br /&gt;
&lt;br /&gt;
When in curve mode - either set in the inspector or using the ''mode'' message - the function object produces output consistent with the values required by the {{maxword|name=curve~}} object - value triplets that include delta time, target value and curve value. The curve value ranges from -1.0 through 1.0, with positive values producing a logarithmic curve, and negative values producing an exponential curve:&lt;br /&gt;
&lt;br /&gt;
[[File:FunctionCurveImage.gif]]&lt;br /&gt;
&lt;br /&gt;
When function is in curve mode, you can directly change the curvature of any line segment by option-clicking on the segment, then dragging vertically.&lt;br /&gt;
&lt;br /&gt;
(To learn more about logarithmic and exponential curves, you can check out [http://people.richland.edu/james/lecture/m116/logs/logs.html| this site].)&lt;br /&gt;
&lt;br /&gt;
=={{maxword|name=function}} Tutorials==&lt;br /&gt;
&lt;br /&gt;
[http://cycling74.com/docs/max6/dynamic/c74_docs.html#mspchapter07|The MSP Tutorial #7: Additive Synthesis (featuring function)]&lt;br /&gt;
&lt;br /&gt;
=={{maxword|name=function}} Tips and Workarounds==&lt;br /&gt;
&lt;br /&gt;
* There are several messages/options for {{maxword|name=function}} that apply to only one point within the object. In these cases, the message will require an &amp;quot;index&amp;quot;; the index is the count of the point starting at the left side of the display, with the first point being point 0 (zero).&lt;br /&gt;
&lt;br /&gt;
==Third-Party Max externals similar to the {{maxword|name=function}} object==&lt;br /&gt;
&lt;br /&gt;
[//www.maxobjects.com/?request=function Maxobjects.com listing for the function object]&lt;br /&gt;
&lt;br /&gt;
==People who looked at/used this object also looked at....==&lt;br /&gt;
&lt;br /&gt;
==Errors or Clarifications==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;none&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Max Refpage extensions ( symbol, A - F)]]&lt;br /&gt;
[[Category:Refpage extensions]]&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=File:function-envelope.gif</id>
		<title>File:function-envelope.gif</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=File:function-envelope.gif"/>
				<updated>2013-05-22T17:17:19Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=function</id>
		<title>function</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=function"/>
				<updated>2013-05-22T17:11:30Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[//www.cycling74.com/docs/max6/dynamic/c74_docs.html#function function online refpage]==&lt;br /&gt;
&lt;br /&gt;
==Using the {{maxword|name=function}} object==&lt;br /&gt;
&lt;br /&gt;
You can use the {{maxword|name=function}} object in two ways: as a generator of level/time pairs for line~ and curve~, and as a transfer function calculator. The first mode requires two messages: '''bang''' and '''next'''. The '''bang''' message produces a series of level/time pairs that represent all of the points up to the first sustain point. Subsequent sections of the envelope need to be accessed by sending the '''next''' message. This is appropriate for creating musically-useful modulation envelopes for amplitude, filtering and pitch.&lt;br /&gt;
&lt;br /&gt;
The {{maxword|name=function}} object has two curvature modes: &amp;quot;linear&amp;quot; and &amp;quot;curve&amp;quot;. When in the linear mode, the output will output value pairs that represent the time and target value for each of the points in the function display. Typically, this output is sent to a {{maxword|name=line~}} object, which can be used to drive almost any object at audio rate.&lt;br /&gt;
&lt;br /&gt;
When in curve mode - either set in the inspector or using the ''mode'' message - the function object produces output consistent with the values required by the {{maxword|name=curve~}} object - value triplets that include delta time, target value and curve value. The curve value ranges from -1.0 through 1.0, with positive values producing a logarithmic curve, and negative values producing an exponential curve:&lt;br /&gt;
&lt;br /&gt;
[[File:FunctionCurveImage.gif]]&lt;br /&gt;
&lt;br /&gt;
When function is in curve mode, you can directly change the curvature of any line segment by option-clicking on the segment, then dragging vertically.&lt;br /&gt;
&lt;br /&gt;
(To learn more about logarithmic and exponential curves, you can check out [http://people.richland.edu/james/lecture/m116/logs/logs.html| this site].)&lt;br /&gt;
&lt;br /&gt;
=={{maxword|name=function}} Tutorials==&lt;br /&gt;
&lt;br /&gt;
[http://cycling74.com/docs/max6/dynamic/c74_docs.html#mspchapter07|The MSP Tutorial #7: Additive Synthesis (featuring function)]&lt;br /&gt;
&lt;br /&gt;
=={{maxword|name=function}} Tips and Workarounds==&lt;br /&gt;
&lt;br /&gt;
* There are several messages/options for {{maxword|name=function}} that apply to only one point within the object. In these cases, the message will require an &amp;quot;index&amp;quot;; the index is the count of the point starting at the left side of the display, with the first point being point 0 (zero).&lt;br /&gt;
&lt;br /&gt;
==Third-Party Max externals similar to the {{maxword|name=function}} object==&lt;br /&gt;
&lt;br /&gt;
[//www.maxobjects.com/?request=function Maxobjects.com listing for the function object]&lt;br /&gt;
&lt;br /&gt;
==People who looked at/used this object also looked at....==&lt;br /&gt;
&lt;br /&gt;
==Errors or Clarifications==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;none&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Max Refpage extensions ( symbol, A - F)]]&lt;br /&gt;
[[Category:Refpage extensions]]&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=Max_Java_Resources</id>
		<title>Max Java Resources</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=Max_Java_Resources"/>
				<updated>2013-05-15T13:07:19Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Java Resources'''&lt;br /&gt;
&lt;br /&gt;
* [http://compusition.com/web/articles/maxmsp-eclipse Adam Murray's tutorial on setting up Eclipse for working on Java in Max]&lt;br /&gt;
&lt;br /&gt;
[[Category:Max And Java]]&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=Editing_QuickStart</id>
		<title>Editing QuickStart</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=Editing_QuickStart"/>
				<updated>2013-05-15T13:06:41Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For information on using the wiki software, consult the [//meta.wikimedia.org/wiki/Help:Contents User's Guide].&lt;br /&gt;
&lt;br /&gt;
This is a Quickstart guide to the formatting that this Wiki uses. If you need more help, see the [//meta.wikimedia.org/wiki/Help:Contents#For_editors Editor's Guide] for more information.&lt;br /&gt;
&lt;br /&gt;
==Managing Wiki Pages (Adding, Deleting, Categorizing)==&lt;br /&gt;
&lt;br /&gt;
===Creating a new Wiki page===&lt;br /&gt;
&lt;br /&gt;
The easiest way to create a new Wiki page is to Type the name of your new article into the Search box from any other Wiki page:&lt;br /&gt;
&lt;br /&gt;
[[Image:LinkingPages1.png|border]]&lt;br /&gt;
&lt;br /&gt;
If a page with that name doesn't already exist, the Wiki will ask you if you want to create the page. Click on the red link to open the editor.&lt;br /&gt;
&lt;br /&gt;
[[Image:LinkingPages2.png|border]]&lt;br /&gt;
&lt;br /&gt;
Enter the text of your article into the text edit box. You can preview the state of your page or save the contents using the links located at the bottom of the page. When you decide to save your page, you'll be presented with a simple arithmetic problem to solve (in order to prove you're an author rather than a spambot).&lt;br /&gt;
&lt;br /&gt;
===Removing a Wiki page===&lt;br /&gt;
&lt;br /&gt;
Since the content of a Wiki page is a part of a larger database with multiple authors, removing a Wiki page may also remove or dereference links and subpages. If you feel you really need to remove a page, please [mailto:gregory@cycling74.com email us].&lt;br /&gt;
&lt;br /&gt;
===Categorizing a Wiki page===&lt;br /&gt;
&lt;br /&gt;
All of the diverse pages and content in a Wiki are organized by using '''''categories'''''. These are set adding ''category tags'' to a Wiki page and managing their interconnections. This topic is covered in detail on the this Wiki page [[Using_Categories_On_This_Site|Using Categories On This Site]], but we'll provide a simple example here.&lt;br /&gt;
&lt;br /&gt;
Let's suppose you want to write a series of articles about using the Lemur.&lt;br /&gt;
&lt;br /&gt;
*Since the Lemur is already listed (it already ''has'' a category tag) on the first page of the Cycling '74 Wiki, you'll want to have your series of articles listed on the Lemur page.&lt;br /&gt;
&lt;br /&gt;
*As you create your series of articles, remember that the Wiki will list all articles related to a category in '''''alphabetical order'''''. The means that you'll want to use numbers to indicate the sequence of your tutorials, if you have one (e.g. &amp;quot;Lemur Basics 1: Connections and Startup&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
You'll want to add a Category tag to the page that identifies your article. In this example, we'll call our tag '''LemurIntro'''. Add this line to the bottom of the article.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[[Category:LemurIntro]]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can add this tag to the end of each of the articles in your series.&lt;br /&gt;
&lt;br /&gt;
In order to link the articles marked with your tag, go to any of the pages you created and click on the link at the bottom of the page.&lt;br /&gt;
&lt;br /&gt;
[[Image:LinkingPages3.png|border]]&lt;br /&gt;
&lt;br /&gt;
The Category page will be displayed ready for editing. Add a Category listing for the page you want to link '''''to''''' to this page. In this case, it would be&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[[Category:Lemur]]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you save the page, your series of articles will now appear on the Lemur page. If there are multiple pages that have the same Category tag, they'll be displayed using the [+] form that allows you to hide or reveal the listing of articles.&lt;br /&gt;
&lt;br /&gt;
==Wiki Page Formatting and Linking==&lt;br /&gt;
&lt;br /&gt;
===Formatting Text===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
''italic'', '''bold''', or '''''bold italics'''''&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
''italic'', '''bold''', or '''''bold italics'''''&lt;br /&gt;
===Numbered Lists===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Do this.&lt;br /&gt;
# Then, do this.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Do this&lt;br /&gt;
# Then, do this.&lt;br /&gt;
===Bulleted Lists===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* This&lt;br /&gt;
* That&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* This&lt;br /&gt;
* That&lt;br /&gt;
===Linking to a page on this Wiki===&lt;br /&gt;
You can link to any page on this Wiki if you know the name of the page. For example, the URL of the Max and Mgraphic page on the Wiki is&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://cycling74.com/wiki/index.php?title=Category:Max_And_Mgraphics&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The portion following the ''?title='' tag is the name of the page. Here's what a link to the page looks like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[[Max_And_Mgraphics|Max And Mgraphics]]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Max_And_Mgraphics|Max And Mgraphics]]&lt;br /&gt;
&lt;br /&gt;
===Linking to a webpage===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[//www.cycling74.com Cycling '74 website]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[//www.cycling74.com Cycling '74 website]&lt;br /&gt;
===Linking to a Max external===&lt;br /&gt;
Add a link for opening a Max object's refpage:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{maxword|name=button}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{maxword|name=button}}&lt;br /&gt;
&lt;br /&gt;
===Displaying an image from the Web===&lt;br /&gt;
&lt;br /&gt;
You can add links to display images from the web (there is a size limit for uploading images to the wiki for display, so this may be a good alternative solution):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;img&amp;gt;http://www.rtqe.net/home_0.jpg&amp;lt;/img&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
will display the image&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img&amp;gt;http://www.rtqe.net/home_0.jpg&amp;lt;/img&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Uploading a File===&lt;br /&gt;
To upload files (png, gif, jpg, jpeg, pdf, docx, pptx, zip or maxpat) to the Wiki:&lt;br /&gt;
# Click '''Upload file''' in the Sidebar&lt;br /&gt;
# Select the file you want to upload (e.g. ''myfile.png'')&lt;br /&gt;
# The Destination name for the file defaults to the name of the file you select, ''and will capitalize the filename''. You can change the name by typing in the '''Destination name''' box. Remember the name of your file!&lt;br /&gt;
# Click on the '''Upload''' button&lt;br /&gt;
&lt;br /&gt;
== Including Max code snippets on a Wiki page ==&lt;br /&gt;
To include portions of a Max patch on a Wiki Page:&lt;br /&gt;
# Select the portions of the patch you wish to copy.&lt;br /&gt;
# Choose '''Copy Compressed''' from the Edit menu.&lt;br /&gt;
# Paste the copied code snippet between a pair of &amp;lt;code&amp;gt;maxpat&amp;lt;/code&amp;gt; tags.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;maxpat&amp;gt;&lt;br /&gt;
----------begin_max5_patcher----------&lt;br /&gt;
612.3ocuWtsjhBCDF9Z3ofJ0doqEI.Jt2sOGaMkUThLwBRXBwC6N07tu4.rx&lt;br /&gt;
rpLYhidgnoSrS++ktafWCC.q3GIsfneD8qnffWCCBLlzFB5FG.pwGWWgaMKC&lt;br /&gt;
rkJmtoosbGELwNcCVt9YJqbofrVZcURbxz3IQYYKzekGquln9czSc+mMblrk&lt;br /&gt;
9Ghd4vYposlY6porJhzrUvSF46j8VQcVoElvguZ62QfAdkgqMdE7SAEW0Oi0&lt;br /&gt;
Axe2PrAH.LQ8I5I8ruEFpuL4S.flCTVA+vnD.YDsEDIHCBPowCXfehEdGjTM&lt;br /&gt;
osEWR58rjbznBfffKFQioygFUkXNkSLJElesSYzkOkQWT3vKH7TeNl+Z4AVR&lt;br /&gt;
h9FbLjDOe.RRmcmQRxCCIap3pvwAkCM4DY1783OV4MXgJtkDwRBCupxL8s0N&lt;br /&gt;
.5S+.k9vRcEzJLqzODoBrUDwX8DRyOCQvq1UDNMaQFLe98iSPO3DkcqThbPs&lt;br /&gt;
4mUZo6p9hbZMeOknaWp6U9wsWQysPDl3Z5lmnJ1CTojzxZrTPO5em4qPqWTY&lt;br /&gt;
BBdjSHx1JZVlWDx4VQK7.P9mDI4kkUDGDusTCcd2narb5BDHezZl2ISST.pn&lt;br /&gt;
r++QuLJQa+8ZukuSrt2a8ktQmDSAoURYXIkyFrH0QRD7eq4YZQAgMTlEzVsx&lt;br /&gt;
MJH9hGBtFNKbHZzkPCVz8LbxcDNOlnQeS5amN0zhFtJQpKgIU8PyYpTZaYch&lt;br /&gt;
9lEciNsQecJ.4hBRdbDM8dPT0ao73HZrKJ3wATGhFjmQisWGtoYOQz14RSfn&lt;br /&gt;
5nukKzCmMwLjxrCMdT8tG6o8qedn1auE9WfSy2Ek&lt;br /&gt;
-----------end_max5_patcher-----------&lt;br /&gt;
&amp;lt;/maxpat&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
will appear on a Wiki page as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;maxpat&amp;gt;&lt;br /&gt;
----------begin_max5_patcher----------&lt;br /&gt;
612.3ocuWtsjhBCDF9Z3ofJ0doqEI.Jt2sOGaMkUThLwBRXBwC6N07tu4.rx&lt;br /&gt;
rpLYhidgnoSrS++ktafWCC.q3GIsfneD8qnffWCCBLlzFB5FG.pwGWWgaMKC&lt;br /&gt;
rkJmtoosbGELwNcCVt9YJqbofrVZcURbxz3IQYYKzekGquln9czSc+mMblrk&lt;br /&gt;
9Ghd4vYposlY6porJhzrUvSF46j8VQcVoElvguZ62QfAdkgqMdE7SAEW0Oi0&lt;br /&gt;
Axe2PrAH.LQ8I5I8ruEFpuL4S.flCTVA+vnD.YDsEDIHCBPowCXfehEdGjTM&lt;br /&gt;
osEWR58rjbznBfffKFQioygFUkXNkSLJElesSYzkOkQWT3vKH7TeNl+Z4AVR&lt;br /&gt;
h9FbLjDOe.RRmcmQRxCCIap3pvwAkCM4DY1783OV4MXgJtkDwRBCupxL8s0N&lt;br /&gt;
.5S+.k9vRcEzJLqzODoBrUDwX8DRyOCQvq1UDNMaQFLe98iSPO3DkcqThbPs&lt;br /&gt;
4mUZo6p9hbZMeOknaWp6U9wsWQysPDl3Z5lmnJ1CTojzxZrTPO5em4qPqWTY&lt;br /&gt;
BBdjSHx1JZVlWDx4VQK7.P9mDI4kkUDGDusTCcd2narb5BDHezZl2ISST.pn&lt;br /&gt;
r++QuLJQa+8ZukuSrt2a8ktQmDSAoURYXIkyFrH0QRD7eq4YZQAgMTlEzVsx&lt;br /&gt;
MJH9hGBtFNKbHZzkPCVz8LbxcDNOlnQeS5amN0zhFtJQpKgIU8PyYpTZaYch&lt;br /&gt;
9lEciNsQecJ.4hBRdbDM8dPT0ao73HZrKJ3wATGhFjmQisWGtoYOQz14RSfn&lt;br /&gt;
5nukKzCmMwLjxrCMdT8tG6o8qedn1auE9WfSy2Ek&lt;br /&gt;
-----------end_max5_patcher-----------&lt;br /&gt;
&amp;lt;/maxpat&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Displaying an Uploaded Image===&lt;br /&gt;
You can add links to your file that to display it&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[[Myfile.png|border]]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
will display the image&lt;br /&gt;
&lt;br /&gt;
[[Image:Myfile.png|border]]&lt;br /&gt;
&lt;br /&gt;
===Adding a Link to a File for Downloading===&lt;br /&gt;
If you've uploaded a ''.zip'' or ''.maxpat'' file, you can add a link for downloading&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Click here to download: [[Media:Mypatch.maxpat]]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
will create a download link.&lt;br /&gt;
&lt;br /&gt;
Click here to download: [[Media:Mypatch.maxpat]]&lt;br /&gt;
&lt;br /&gt;
===Linking to a YouTube Video===&lt;br /&gt;
You can't upload videos to the wiki, but you can add a link to a video on YouTube using the video's unique identifier. For the YouTube video with the URL&lt;br /&gt;
&lt;br /&gt;
''http://www.youtube.com/watch?v=wRCCYjBMTFA''&lt;br /&gt;
&lt;br /&gt;
You would use the ''wRCCYjBMTFA'' portion of the URL as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{#ev:youtube|wRCCYjBMTFA}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ability to display the video at fullscreen is automatically added to the displayed video window&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|wRCCYjBMTFA}}&lt;br /&gt;
&lt;br /&gt;
===Linking to a Vimeo Video===&lt;br /&gt;
As with YouTube, you can add a link to a video on Vimeo using the video's unique identifier. For the Vimeo video with the URL&lt;br /&gt;
&lt;br /&gt;
''http://vimeo.com/26755823''&lt;br /&gt;
&lt;br /&gt;
You would use the ''26755823'' portion of the URL as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{#ev:vimeo|26755823}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{#ev:vimeo|26755823}}&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=Max_Java_Resources</id>
		<title>Max Java Resources</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=Max_Java_Resources"/>
				<updated>2013-05-15T13:05:18Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Java Resources'''&lt;br /&gt;
&lt;br /&gt;
* [http://compusition.com/web/articles/maxmsp-eclipse| Adam Murray's tutorial on setting up Eclipse for working on Java in Max]&lt;br /&gt;
&lt;br /&gt;
[[Category:Max And Java]]&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=Category:Max_And_Java</id>
		<title>Category:Max And Java</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=Category:Max_And_Java"/>
				<updated>2013-05-15T13:04:24Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: Created page with &amp;quot;Category:MaxAnd&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:MaxAnd]]&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=Max_Java_Resources</id>
		<title>Max Java Resources</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=Max_Java_Resources"/>
				<updated>2013-05-15T13:03:54Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: Created page with &amp;quot;'''Java Resources'''  * [http://compusition.com/web/articles/maxmsp-eclipse|Adam Murray's tutorial on setting up Eclipse for working on Java in Max]  Category:Max And Java&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Java Resources'''&lt;br /&gt;
&lt;br /&gt;
* [http://compusition.com/web/articles/maxmsp-eclipse|Adam Murray's tutorial on setting up Eclipse for working on Java in Max]&lt;br /&gt;
&lt;br /&gt;
[[Category:Max And Java]]&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=function</id>
		<title>function</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=function"/>
				<updated>2013-05-13T17:56:12Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[//www.cycling74.com/docs/max6/dynamic/c74_docs.html#function function online refpage]==&lt;br /&gt;
&lt;br /&gt;
==Using the {{maxword|name=function}} object==&lt;br /&gt;
&lt;br /&gt;
The {{maxword|name=function}} object has two modes: &amp;quot;linear&amp;quot; and &amp;quot;curve&amp;quot;. When in the linear mode, the output will output value pairs that represent the time and target value for each of the points in the function display. Typically, this output is sent to a {{maxword|name=line~}} object, which can be used to drive almost any object at audio rate.&lt;br /&gt;
&lt;br /&gt;
When in curve mode - either set in the inspector or using the ''mode'' message - the function object produces output consistent with the values required by the {{maxword|name=curve~}} object - value triplets that include delta time, target value and curve value. The curve value ranges from -1.0 through 1.0, with positive values producing a logarithmic curve, and negative values producing an exponential curve:&lt;br /&gt;
&lt;br /&gt;
[[File:FunctionCurveImage.gif]]&lt;br /&gt;
&lt;br /&gt;
When function is in curve mode, you can directly change the curvature of any line segment by option-clicking on the segment, then dragging vertically.&lt;br /&gt;
&lt;br /&gt;
(To learn more about logarithmic and exponential curves, you can check out [http://people.richland.edu/james/lecture/m116/logs/logs.html| this site].)&lt;br /&gt;
&lt;br /&gt;
=={{maxword|name=function}} Tutorials==&lt;br /&gt;
&lt;br /&gt;
[http://cycling74.com/docs/max6/dynamic/c74_docs.html#mspchapter07|The MSP Tutorial #7: Additive Synthesis (featuring function)]&lt;br /&gt;
&lt;br /&gt;
=={{maxword|name=function}} Tips and Workarounds==&lt;br /&gt;
&lt;br /&gt;
* There are several messages/options for {{maxword|name=function}} that apply to only one point within the object. In these cases, the message will require an &amp;quot;index&amp;quot;; the index is the count of the point starting at the left side of the display, with the first point being point 0 (zero).&lt;br /&gt;
&lt;br /&gt;
==Third-Party Max externals similar to the {{maxword|name=function}} object==&lt;br /&gt;
&lt;br /&gt;
[//www.maxobjects.com/?request=function Maxobjects.com listing for the function object]&lt;br /&gt;
&lt;br /&gt;
==People who looked at/used this object also looked at....==&lt;br /&gt;
&lt;br /&gt;
==Errors or Clarifications==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;none&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Max Refpage extensions ( symbol, A - F)]]&lt;br /&gt;
[[Category:Refpage extensions]]&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=function</id>
		<title>function</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=function"/>
				<updated>2013-05-08T23:00:39Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[//www.cycling74.com/docs/max6/dynamic/c74_docs.html#function function online refpage]==&lt;br /&gt;
&lt;br /&gt;
==Using the {{maxword|name=function}} object==&lt;br /&gt;
&lt;br /&gt;
The {{maxword|name=function}} object has two modes: &amp;quot;linear&amp;quot; and &amp;quot;curve&amp;quot;. When in the linear mode, the output will output value pairs that represent the time and target value for each of the points in the function display. Typically, this output is sent to a {{maxword|name=line~}} object, which can be used to drive almost any object at audio rate.&lt;br /&gt;
&lt;br /&gt;
When in curve mode - either set in the inspector or using the ''mode'' message - the function object produces output consistent with the values required by the {{maxword|name=curve~}} object - value triplets that include delta time, target value and curve value. The curve value ranges from -1.0 through 1.0, with positive values producing a logarithmic curve, and negative values producing an exponential curve:&lt;br /&gt;
&lt;br /&gt;
[[File:FunctionCurveImage.gif]]&lt;br /&gt;
&lt;br /&gt;
When function is in curve mode, you can directly change the curvature of any line segment by option-clicking on the segment, then dragging vertically.&lt;br /&gt;
&lt;br /&gt;
(To learn more about logarithmic and exponential curves, you can check out [http://people.richland.edu/james/lecture/m116/logs/logs.html| this site].)&lt;br /&gt;
&lt;br /&gt;
=={{maxword|name=function}} Tutorials==&lt;br /&gt;
&lt;br /&gt;
=={{maxword|name=function}} Tips and Workarounds==&lt;br /&gt;
&lt;br /&gt;
* There are several messages/options for {{maxword|name=function}} that apply to only one point within the object. In these cases, the message will require an &amp;quot;index&amp;quot;; the index is the count of the point starting at the left side of the display, with the first point being point 0 (zero).&lt;br /&gt;
&lt;br /&gt;
==Third-Party Max externals similar to the {{maxword|name=function}} object==&lt;br /&gt;
&lt;br /&gt;
[//www.maxobjects.com/?request=function Maxobjects.com listing for the function object]&lt;br /&gt;
&lt;br /&gt;
==People who looked at/used this object also looked at....==&lt;br /&gt;
&lt;br /&gt;
==Errors or Clarifications==&lt;br /&gt;
&lt;br /&gt;
(please list things that you believe to be errors or omissions from the existing refpage)&lt;br /&gt;
&lt;br /&gt;
[[Category:Max Refpage extensions ( symbol, A - F)]]&lt;br /&gt;
[[Category:Refpage extensions]]&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep03</id>
		<title>Using Max for Live Devices: Buffer Shuffler 2.0 Ep03</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep03"/>
				<updated>2013-05-08T21:27:49Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The second episode of the Buffer Shuffler 2.0 video digs into some of the details needed to get the most our of the new Buffer Shuffler.&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|5bvHN0OwqDk}}&lt;br /&gt;
&lt;br /&gt;
===Episode 3 Topics===&lt;br /&gt;
&lt;br /&gt;
• New possibilities with sequence length, bar and beat changes of the grid.&lt;br /&gt;
&lt;br /&gt;
• Audio Slice Direction.&lt;br /&gt;
&lt;br /&gt;
• Simple pattern manipulation with BS2.0 and adding unique qualities to simple melodies.&lt;br /&gt;
&lt;br /&gt;
• Freeze and Linked modes explained.&lt;br /&gt;
&lt;br /&gt;
===The Buffer Shuffler 2.0 video series:===&lt;br /&gt;
&lt;br /&gt;
* [[Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep01|Episode 1]]&lt;br /&gt;
&lt;br /&gt;
* [[Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep02|Episode 2]]&lt;br /&gt;
&lt;br /&gt;
* [[Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep03|Episode 3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Using Max for Live Devices]]&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep02</id>
		<title>Using Max for Live Devices: Buffer Shuffler 2.0 Ep02</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep02"/>
				<updated>2013-05-08T21:27:33Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The second episode of the Buffer Shuffler 2.0 video explores the different &amp;quot;lanes&amp;quot; of adjustment you can make on your audio track.&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|gXJ1G7F23DQ}}&lt;br /&gt;
&lt;br /&gt;
===Episode 2 Topics===&lt;br /&gt;
&lt;br /&gt;
• Grid Pattern Manipulation.&lt;br /&gt;
&lt;br /&gt;
• Covering of the Reset, Auto and Dice variations.&lt;br /&gt;
&lt;br /&gt;
• Dice Randomization settings.&lt;br /&gt;
&lt;br /&gt;
• Smooth settings.&lt;br /&gt;
&lt;br /&gt;
===The Buffer Shuffler 2.0 video series:===&lt;br /&gt;
&lt;br /&gt;
* [[Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep01|Episode 1]]&lt;br /&gt;
&lt;br /&gt;
* [[Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep02|Episode 2]]&lt;br /&gt;
&lt;br /&gt;
* [[Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep03|Episode 3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Using Max for Live Devices]]&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep01</id>
		<title>Using Max for Live Devices: Buffer Shuffler 2.0 Ep01</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep01"/>
				<updated>2013-05-08T21:27:14Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The first episode of the Buffer Shuffler 2.0 video focuses on some of the basics of the device, and using it in conjunction with the LFO device.&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|Spem4KiI8ek}}&lt;br /&gt;
&lt;br /&gt;
===Episode 1 Topics===&lt;br /&gt;
&lt;br /&gt;
• Where to find, download and install Buffer Shuffler 2.0 from Ableton.&lt;br /&gt;
&lt;br /&gt;
• Finding the original Buffer Shuffler.&lt;br /&gt;
&lt;br /&gt;
• Mapping, Saving and using Presets creatively.&lt;br /&gt;
&lt;br /&gt;
• How to use the Max For Live LFO in conjunction with Buffer Shuffler 2.0&lt;br /&gt;
&lt;br /&gt;
===The Buffer Shuffler 2.0 video series:===&lt;br /&gt;
&lt;br /&gt;
* [[Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep01|Episode 1]]&lt;br /&gt;
&lt;br /&gt;
* [[Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep02|Episode 2]]&lt;br /&gt;
&lt;br /&gt;
* [[Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep03|Episode 3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Using Max for Live Devices]]&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep03</id>
		<title>Using Max for Live Devices: Buffer Shuffler 2.0 Ep03</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep03"/>
				<updated>2013-05-08T06:37:31Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: Created page with &amp;quot;The second episode of the Buffer Shuffler 2.0 video digs into some of the details needed to get the most our of the new Buffer Shuffler.  {{#ev:youtube|5bvHN0OwqDk}}  The Buff...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The second episode of the Buffer Shuffler 2.0 video digs into some of the details needed to get the most our of the new Buffer Shuffler.&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|5bvHN0OwqDk}}&lt;br /&gt;
&lt;br /&gt;
The Buffer Shuffler 2.0 video series:&lt;br /&gt;
&lt;br /&gt;
* [[Episode 1|Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep01]]&lt;br /&gt;
&lt;br /&gt;
* [[Episode 2|Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep02]]&lt;br /&gt;
&lt;br /&gt;
* [[Episode 3|Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep03]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Using Max for Live Devices]]&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep02</id>
		<title>Using Max for Live Devices: Buffer Shuffler 2.0 Ep02</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep02"/>
				<updated>2013-05-08T06:34:02Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: Created page with &amp;quot;The second episode of the Buffer Shuffler 2.0 video explores the different &amp;quot;lanes&amp;quot; of adjustment you can make on your audio track.  {{#ev:youtube|gXJ1G7F23DQ}}  The Buffer Shu...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The second episode of the Buffer Shuffler 2.0 video explores the different &amp;quot;lanes&amp;quot; of adjustment you can make on your audio track.&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|gXJ1G7F23DQ}}&lt;br /&gt;
&lt;br /&gt;
The Buffer Shuffler 2.0 video series:&lt;br /&gt;
&lt;br /&gt;
* [[Episode 1|Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep01]]&lt;br /&gt;
&lt;br /&gt;
* [[Episode 2|Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep02]]&lt;br /&gt;
&lt;br /&gt;
* [[Episode 3|Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep03]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Using Max for Live Devices]]&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep01</id>
		<title>Using Max for Live Devices: Buffer Shuffler 2.0 Ep01</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep01"/>
				<updated>2013-05-08T06:32:05Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The first episode of the Buffer Shuffler 2.0 video focuses on some of the basics of the device, and using it in conjunction with the LFO device.&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|Spem4KiI8ek}}&lt;br /&gt;
&lt;br /&gt;
The Buffer Shuffler 2.0 video series:&lt;br /&gt;
&lt;br /&gt;
* [[Episode 1|Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep01]]&lt;br /&gt;
&lt;br /&gt;
* [[Episode 2|Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep02]]&lt;br /&gt;
&lt;br /&gt;
* [[Episode 3|Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep03]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Using Max for Live Devices]]&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep01</id>
		<title>Using Max for Live Devices: Buffer Shuffler 2.0 Ep01</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep01"/>
				<updated>2013-05-08T06:31:37Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: Created page with &amp;quot;The first episode of the Buffer Shuffler 2.0 video focuses on some of the basics of the device, and using it in conjunction with the LFO device.  {{#ev:youtube|Spem4KiI8ek}}  ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The first episode of the Buffer Shuffler 2.0 video focuses on some of the basics of the device, and using it in conjunction with the LFO device.&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|Spem4KiI8ek}}&lt;br /&gt;
&lt;br /&gt;
The Buffer Shuffler 2.0 video series:&lt;br /&gt;
&lt;br /&gt;
[[Episode 1|Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep01]]&lt;br /&gt;
[[Episode 2|Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep02]]&lt;br /&gt;
[[Episode 3|Using_Max_for_Live_Devices:_Buffer_Shuffler_2.0_Ep03]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Using Max for Live Devices]]&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=function</id>
		<title>function</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=function"/>
				<updated>2013-05-07T07:13:37Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: /* Using the {{maxword|name=function}} object */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[//www.cycling74.com/docs/max6/dynamic/c74_docs.html#function function online refpage]==&lt;br /&gt;
&lt;br /&gt;
==Using the {{maxword|name=function}} object==&lt;br /&gt;
&lt;br /&gt;
The {{maxword|name=function}} object has two modes: &amp;quot;linear&amp;quot; and &amp;quot;curve&amp;quot;. When in the linear mode, the output will output value pairs that represent the time and target value for each of the points in the function display. Typically, this output is sent to a {{maxword|name=line~}} object, which can be used to drive almost any object at audio rate.&lt;br /&gt;
&lt;br /&gt;
When in curve mode - either set in the inspector or using the ''mode'' message - the function object produces output consistent with the values required by the {{maxword|name=curve~}} object - value triplets that include delta time, target value and curve value. The curve value ranges from -1.0 through 1.0, with positive values producing a logarithmic curve, and negative values producing an exponential curve:&lt;br /&gt;
&lt;br /&gt;
[[File:FunctionCurveImage.gif]]&lt;br /&gt;
&lt;br /&gt;
When function is in curve mode, you can directly change the curvature of any line segment by option-clicking on the segment, then dragging vertically.&lt;br /&gt;
&lt;br /&gt;
(To learn more about logarithmic and exponential curves, you can check out [http://people.richland.edu/james/lecture/m116/logs/logs.html| this site].)&lt;br /&gt;
&lt;br /&gt;
=={{maxword|name=function}} Tutorials==&lt;br /&gt;
&lt;br /&gt;
=={{maxword|name=function}} Tips and Workarounds==&lt;br /&gt;
&lt;br /&gt;
==Third-Party Max externals similar to the {{maxword|name=function}} object==&lt;br /&gt;
&lt;br /&gt;
[//www.maxobjects.com/?request=function Maxobjects.com listing for the function object]&lt;br /&gt;
&lt;br /&gt;
==People who looked at/used this object also looked at....==&lt;br /&gt;
&lt;br /&gt;
==Errors or Clarifications==&lt;br /&gt;
&lt;br /&gt;
(please list things that you believe to be errors or omissions from the existing refpage)&lt;br /&gt;
&lt;br /&gt;
[[Category:Max Refpage extensions ( symbol, A - F)]]&lt;br /&gt;
[[Category:Refpage extensions]]&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=File:FunctionCurveImage.gif</id>
		<title>File:FunctionCurveImage.gif</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=File:FunctionCurveImage.gif"/>
				<updated>2013-05-07T07:08:48Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p1</id>
		<title>SimpleArduinoConnection-p1</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p1"/>
				<updated>2013-05-06T20:31:50Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:ArduinoLabel.gif|200px]]&lt;br /&gt;
&lt;br /&gt;
== Examining a Simple Arduino Connection ==&lt;br /&gt;
&lt;br /&gt;
The Arduino microprocessor board is one of the most-used hardware devices in the Media Art world. There are many reasons for its popularity: it is relatively low-cost, has a multitude of hardware extensions (called shields) available, and has a simplified toolchain that runs with no operating system overhead.&lt;br /&gt;
&lt;br /&gt;
[[File:ArduinoCircuit.gif]]&lt;br /&gt;
&lt;br /&gt;
Using the Arduino with your Max programming is actually quite simple: you use a serial port connection to talk to a &amp;quot;sketch&amp;quot; (a small program) that runs on the Arduino itself. There are some existing Max projects that communicate with the Arduino - the Maxuino project is one of the most popular - but often people want to have a purpose-built program running on the Arduino, and higher-level functions running in Max. That's what this article series is going to explore: a very simple Arduino sketch, combined with a simple Max patch, both of which to combine to create a two-way communication between Arduino and laptop.&lt;br /&gt;
&lt;br /&gt;
Let's start with creating the hardware circuit we will need for our example...&lt;br /&gt;
&lt;br /&gt;
[[SimpleArduinoConnection-p2|&amp;lt;Next: The Arduino circuit&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p2</id>
		<title>SimpleArduinoConnection-p2</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p2"/>
				<updated>2013-05-06T20:10:41Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Step 1: Create an Arduino-based Circuit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will begin our Arduino connection by creating a simple circuit. This circuit will use a small potentiometer for input, and four LEDs for visual output. The parts necessary for this circuit include:&lt;br /&gt;
&lt;br /&gt;
* An Arduino board (we will be using an Arduino Uno)&lt;br /&gt;
* A small breadboard&lt;br /&gt;
* A variety of jumper wires&lt;br /&gt;
* Four (4) LEDs of any color&lt;br /&gt;
* Five (5) 330 ohm resistors&lt;br /&gt;
* One breadboard-mounting potentiometer&lt;br /&gt;
&lt;br /&gt;
Using these parts, create the following circuit layout:&lt;br /&gt;
&lt;br /&gt;
[[File:SimpleArduinoConnection-0201.png]]&lt;br /&gt;
&lt;br /&gt;
(You can download the Fritzing file here: [[Media:SimpleArduinoConnection-02fzz.zip]])&lt;br /&gt;
&lt;br /&gt;
A few notes about this circuit:&lt;br /&gt;
&lt;br /&gt;
* You will be plugging the Arduino into the computer for serial communication with the computer (and Max). Most Arduino boards have a USB port that provides power to the device. We tap into that power for the simple circuit we've created.&lt;br /&gt;
* We use digital pins 2 - 5 for our LED display. You generally don't want to use pins 0 and 1, since they are used for serial communication.&lt;br /&gt;
* In order to prevent overtaxing the power supply of the Arduino, use use the 330 ohm resistors as [http://www.dummies.com/how-to/content/electronics-projects-how-to-limit-current-with-a-r.html &amp;quot;current limiting resistors&amp;quot;] - they reduce the amount of current drawn from the Arduino board, and prevent the LEDs from burning out.&lt;br /&gt;
&lt;br /&gt;
You can see a picture of my circuit board creation on the [[SimpleArduinoConnection-p1|Introduction]] page.&lt;br /&gt;
&lt;br /&gt;
Now that we have our circuit ready, let's create an Arduino sketch that tests our board, and prepares it for communication with Max.&lt;br /&gt;
&lt;br /&gt;
[[SimpleArduinoConnection-p1|&amp;lt;Previous: Introduction&amp;gt;]] [[SimpleArduinoConnection-p3|&amp;lt;Next: The Arduino sketch&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p1</id>
		<title>SimpleArduinoConnection-p1</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p1"/>
				<updated>2013-05-06T20:09:35Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Examining a Simple Arduino Connection ==&lt;br /&gt;
&lt;br /&gt;
[[File:ArduinoLabel.gif|200px]]&lt;br /&gt;
&lt;br /&gt;
The Arduino microprocessor board is one of the most-used hardware devices in the Media Art world. There are many reasons for its popularity: it is relatively low-cost, has a multitude of hardware extensions (called shields) available, and has a simplified toolchain that runs with no operating system overhead.&lt;br /&gt;
&lt;br /&gt;
[[File:ArduinoCircuit.gif]]&lt;br /&gt;
&lt;br /&gt;
Using the Arduino with your Max programming is actually quite simple: you use a serial port connection to talk to a &amp;quot;sketch&amp;quot; (a small program) that runs on the Arduino itself. There are some existing Max projects that communicate with the Arduino - the Maxuino project is one of the most popular - but often people want to have a purpose-built program running on the Arduino, and higher-level functions running in Max. That's what this article series is going to explore: a very simple Arduino sketch, combined with a simple Max patch, both of which to combine to create a two-way communication between Arduino and laptop.&lt;br /&gt;
&lt;br /&gt;
[[SimpleArduinoConnection-p2|&amp;lt;Next: The Arduino circuit&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p2</id>
		<title>SimpleArduinoConnection-p2</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p2"/>
				<updated>2013-05-06T20:09:18Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Step 1: Create an Arduino-based Circuit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will begin our Arduino connection by creating a simple circuit. This circuit will use a small potentiometer for input, and four LEDs for visual output. The parts necessary for this circuit include:&lt;br /&gt;
&lt;br /&gt;
* An Arduino board (we will be using an Arduino Uno)&lt;br /&gt;
* A small breadboard&lt;br /&gt;
* A variety of jumper wires&lt;br /&gt;
* Four (4) LEDs of any color&lt;br /&gt;
* Five (5) 330 ohm resistors&lt;br /&gt;
* One breadboard-mounting potentiometer&lt;br /&gt;
&lt;br /&gt;
Using these parts, create the following circuit layout:&lt;br /&gt;
&lt;br /&gt;
[[File:SimpleArduinoConnection-0201.png]]&lt;br /&gt;
&lt;br /&gt;
(You can download the Fritzing file here: [[Media:SimpleArduinoConnection-02fzz.zip]])&lt;br /&gt;
&lt;br /&gt;
A few notes about this circuit:&lt;br /&gt;
&lt;br /&gt;
* You will be plugging the Arduino into the computer for serial communication with the computer (and Max). Most Arduino boards have a USB port that provides power to the device. We tap into that power for the simple circuit we've created.&lt;br /&gt;
* We use digital pins 2 - 5 for our LED display. You generally don't want to use pins 0 and 1, since they are used for serial communication.&lt;br /&gt;
* In order to prevent overtaxing the power supply of the Arduino, use use the 330 ohm resistors as [http://www.dummies.com/how-to/content/electronics-projects-how-to-limit-current-with-a-r.html &amp;quot;current limiting resistors&amp;quot;] - they reduce the amount of current drawn from the Arduino board, and prevent the LEDs from burning out.&lt;br /&gt;
&lt;br /&gt;
Here's a picture of my circuit setup:&lt;br /&gt;
&lt;br /&gt;
[[File:ArduinoCircuit.gif]]&lt;br /&gt;
&lt;br /&gt;
Now that we have our circuit ready, let's create an Arduino sketch that tests our board, and prepares it for communication with Max.&lt;br /&gt;
&lt;br /&gt;
[[SimpleArduinoConnection-p1|&amp;lt;Previous: Introduction&amp;gt;]] [[SimpleArduinoConnection-p3|&amp;lt;Next: The Arduino sketch&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p1</id>
		<title>SimpleArduinoConnection-p1</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p1"/>
				<updated>2013-05-06T20:07:07Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Examining a Simple Arduino Connection ==&lt;br /&gt;
&lt;br /&gt;
[[File:ArduinoLabel.gif]]&lt;br /&gt;
&lt;br /&gt;
The Arduino microprocessor board is one of the most-used hardware devices in the Media Art world. There are many reasons for its popularity: it is relatively low-cost, has a multitude of hardware extensions (called shields) available, and has a simplified toolchain that runs with no operating system overhead.&lt;br /&gt;
&lt;br /&gt;
[[File:ArduinoCircuit.gif]]&lt;br /&gt;
&lt;br /&gt;
Using the Arduino with your Max programming is actually quite simple: you use a serial port connection to talk to a &amp;quot;sketch&amp;quot; (a small program) that runs on the Arduino itself. There are some existing Max projects that communicate with the Arduino - the Maxuino project is one of the most popular - but often people want to have a purpose-built program running on the Arduino, and higher-level functions running in Max. That's what this article series is going to explore: a very simple Arduino sketch, combined with a simple Max patch, both of which to combine to create a two-way communication between Arduino and laptop.&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p2</id>
		<title>SimpleArduinoConnection-p2</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p2"/>
				<updated>2013-05-06T20:06:27Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Step 1: Create an Arduino-based Circuit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will begin our Arduino connection by creating a simple circuit. This circuit will use a small potentiometer for input, and four LEDs for visual output. The parts necessary for this circuit include:&lt;br /&gt;
&lt;br /&gt;
* An Arduino board (we will be using an Arduino Uno)&lt;br /&gt;
* A small breadboard&lt;br /&gt;
* A variety of jumper wires&lt;br /&gt;
* Four (4) LEDs of any color&lt;br /&gt;
* Five (5) 330 ohm resistors&lt;br /&gt;
* One breadboard-mounting potentiometer&lt;br /&gt;
&lt;br /&gt;
Using these parts, create the following circuit layout:&lt;br /&gt;
&lt;br /&gt;
[[File:SimpleArduinoConnection-0201.png]]&lt;br /&gt;
&lt;br /&gt;
(You can download the Fritzing file here: [[Media:SimpleArduinoConnection-02fzz.zip]])&lt;br /&gt;
&lt;br /&gt;
A few notes about this circuit:&lt;br /&gt;
&lt;br /&gt;
* You will be plugging the Arduino into the computer for serial communication with the computer (and Max). Most Arduino boards have a USB port that provides power to the device. We tap into that power for the simple circuit we've created.&lt;br /&gt;
* We use digital pins 2 - 5 for our LED display. You generally don't want to use pins 0 and 1, since they are used for serial communication.&lt;br /&gt;
* In order to prevent overtaxing the power supply of the Arduino, use use the 330 ohm resistors as [http://www.dummies.com/how-to/content/electronics-projects-how-to-limit-current-with-a-r.html &amp;quot;current limiting resistors&amp;quot;] - they reduce the amount of current drawn from the Arduino board, and prevent the LEDs from burning out.&lt;br /&gt;
&lt;br /&gt;
Here's a picture of my circuit setup:&lt;br /&gt;
&lt;br /&gt;
[[File:ArduinoCircuit.gif]]&lt;br /&gt;
&lt;br /&gt;
Now that we have our circuit ready, let's create an Arduino sketch that tests our board, and prepares it for communication with Max.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Previous: Introduction&amp;gt; [[SimpleArduinoConnection-p3|&amp;lt;Next: The Arduino sketch&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p1</id>
		<title>SimpleArduinoConnection-p1</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p1"/>
				<updated>2013-05-06T20:05:13Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Examining a Simple Arduino Connection ==&lt;br /&gt;
&lt;br /&gt;
[[File:ArduinoLabel.gif]]&lt;br /&gt;
&lt;br /&gt;
The Arduino microprocessor board is one of the most-used hardware devices in the Media Art world. There are many reasons for its popularity: it is relatively low-cost, has a multitude of hardware extensions (called shields) available, and has a simplified toolchain that runs with no operating system overhead.&lt;br /&gt;
&lt;br /&gt;
Using the Arduino with your Max programming is actually quite simple: you use a serial port connection to talk to a &amp;quot;sketch&amp;quot; (a small program) that runs on the Arduino itself. There are some existing Max projects that communicate with the Arduino - the Maxuino project is one of the most popular - but often people want to have a purpose-built program running on the Arduino, and higher-level functions running in Max. That's what this article series is going to explore: a very simple Arduino sketch, combined with a simple Max patch, both of which to combine to create a two-way communication between Arduino and laptop.&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=File:ArduinoLabel.gif</id>
		<title>File:ArduinoLabel.gif</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=File:ArduinoLabel.gif"/>
				<updated>2013-05-06T20:04:36Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=File:ArduinoCircuit.gif</id>
		<title>File:ArduinoCircuit.gif</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=File:ArduinoCircuit.gif"/>
				<updated>2013-05-06T20:04:18Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p1</id>
		<title>SimpleArduinoConnection-p1</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p1"/>
				<updated>2013-05-03T02:18:01Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: Created page with &amp;quot;== Examining a Simple Arduino Connection ==  The Arduino microprocessor board is one of the most-used hardware devices in the Media Art world. There are many reasons for its p...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Examining a Simple Arduino Connection ==&lt;br /&gt;
&lt;br /&gt;
The Arduino microprocessor board is one of the most-used hardware devices in the Media Art world. There are many reasons for its popularity: it is relatively low-cost, has a multitude of hardware extensions (called shields) available, and has a simplified toolchain that runs with no operating system overhead.&lt;br /&gt;
&lt;br /&gt;
Using the Arduino with your Max programming is actually quite simple: you use a serial port connection to talk to a &amp;quot;sketch&amp;quot; (a small program) that runs on the Arduino itself. There are some existing Max projects that communicate with the Arduino - the Maxuino project is one of the most popular - but often people want to have a purpose-built program running on the Arduino, and higher-level functions running in Max. That's what this article series is going to explore: a very simple Arduino sketch, combined with a simple Max patch, both of which to combine to create a two-way communication between Arduino and laptop.&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=function</id>
		<title>function</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=function"/>
				<updated>2013-05-03T02:10:47Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: /* Using the {{maxword|name=function}} object */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[//www.cycling74.com/docs/max6/dynamic/c74_docs.html#function function online refpage]==&lt;br /&gt;
&lt;br /&gt;
==Using the {{maxword|name=function}} object==&lt;br /&gt;
&lt;br /&gt;
The {{maxword|name=function}} object has a mode - &amp;quot;curve&amp;quot; mode - that produces output consistent with the values required by the {{maxword|name=curve~}} object - value triplets that include delta time, target value and curve value. When function is in this mode, you can directly change the curvature of any line segment by option-clicking on the segment, then dragging vertically.&lt;br /&gt;
&lt;br /&gt;
=={{maxword|name=function}} Tutorials==&lt;br /&gt;
&lt;br /&gt;
=={{maxword|name=function}} Tips and Workarounds==&lt;br /&gt;
&lt;br /&gt;
==Third-Party Max externals similar to the {{maxword|name=function}} object==&lt;br /&gt;
&lt;br /&gt;
[//www.maxobjects.com/?request=function Maxobjects.com listing for the function object]&lt;br /&gt;
&lt;br /&gt;
==People who looked at/used this object also looked at....==&lt;br /&gt;
&lt;br /&gt;
==Errors or Clarifications==&lt;br /&gt;
&lt;br /&gt;
(please list things that you believe to be errors or omissions from the existing refpage)&lt;br /&gt;
&lt;br /&gt;
[[Category:Max Refpage extensions ( symbol, A - F)]]&lt;br /&gt;
[[Category:Refpage extensions]]&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=bucket</id>
		<title>bucket</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=bucket"/>
				<updated>2013-05-01T04:58:00Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: /* People who looked at/used this object also looked at.... */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[//www.cycling74.com/docs/max6/dynamic/c74_docs.html#bucket bucket online refpage]==&lt;br /&gt;
&lt;br /&gt;
==Using the {{maxword|name=bucket}} object==&lt;br /&gt;
&lt;br /&gt;
The {{maxword|name=bucket}} object implements a [//en.wikipedia.org/wiki/Bucket_brigade bucket brigade] device (in the electronics world, this is sometimes referred to as [//en.wikipedia.org/wiki/Bucket-brigade_device a discrete time-analogue delay line]). As the examples below suggest, it's useful for single-sample delay lines, calculating averages, computing velocity and acceleration, and permutating lists by rotating them.&lt;br /&gt;
&lt;br /&gt;
=={{maxword|name=bucket}} Tutorials==&lt;br /&gt;
&lt;br /&gt;
In the Max tutorial on abstractions, you can find a classic example of why the {{maxword|name=bucket}} object is so useful - [//www.cycling74.com/docs/max6/dynamic/c74_docs.html#basicchapter15 this Max tutorial] demonstrates its use as a single sample delay for number values useful for constructing drawing commands.&lt;br /&gt;
&lt;br /&gt;
=={{maxword|name=bucket}} Tips and Workarounds==&lt;br /&gt;
&lt;br /&gt;
===Velocity and Acceleration===&lt;br /&gt;
&lt;br /&gt;
Lots of people use the &amp;lt;strong&amp;gt;bucket&amp;lt;/strong&amp;gt; object for shifting data in series, it's computationally useful for calculating first and second derivatives for streams of data. The terms &amp;quot;first and second derivative&amp;quot; are math-speak for keeping track of:&lt;br /&gt;
&lt;br /&gt;
* the rate that things are changing (that's what velocity (the first derivative) is - the rate of change in a value over time.&lt;br /&gt;
&lt;br /&gt;
* the ''rate of the rate'' that things are changing - that's what acceleration (the second derivative) is.&lt;br /&gt;
&lt;br /&gt;
[[File:Bucket-in-action.png|550px]]&lt;br /&gt;
&lt;br /&gt;
Here's a patch that does that:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;maxpat&amp;gt;&lt;br /&gt;
----------begin_max5_patcher----------&lt;br /&gt;
863.3oc4XFrbaBCDF9r8SgJmZmwICRf.bu0mgbrISGLHaqDP3QHbcZl7tWoE&lt;br /&gt;
vA2ZrAFC8Pu.dEBs69oesR32lOyZU1AVtE5qnuilM6s4ylAMYZXVk8LqzvCQ&lt;br /&gt;
Ig4P2rhxRSYBk0hxmoXGTP6psLjLTwPYqQM+cz1PwF1ihOmyhxDwnXljuOTw&lt;br /&gt;
2y9xih5QIgKzOsP.CEopQQQJWjvTfewUMtKTEskK17CIKRUF2d1d2au.4rz2&lt;br /&gt;
bC6EXt4pMPOU8R7XHDyV87cjk09bclPIBSYvi9ljGlX8giyJT0d1tt+xMq.6&lt;br /&gt;
6saLB47eAi.lbr4cRVtlP5bLSbRXRg.y1L.n5KnmLuz6ymatr3FNGbj6q4xb&lt;br /&gt;
0HfcW+flXGiuH1CFOrO..pc0JlzpmYrS.AR0xYPJbkX2RB612DlbzwRcuUL4&lt;br /&gt;
OXhvUIrSfw4Ubkih50crx.0haDGHqUZIf0fTXoEIJddBOt+TpZ4HojOXLXgc&lt;br /&gt;
BZgSjgSiblRGR53tzw2QONubzS5tjqds70nsQKCplbLUs7oqXBOpXpkRV0wn&lt;br /&gt;
i6okrlF3px1rQO38cQJApG4srd04EViZednh6.TO6RtoVCUkqcTCgCtYZH6i&lt;br /&gt;
0AmJwff8ScN7W63oiWY1YwF4pXqpNtK9RZDreeqii6Ys5gWjtElDKKDuXxND&lt;br /&gt;
8rjw45jg.qd7cuHY7FaxL3kTs.lOcmV31WwR81Y1NvocJKHhaAImkHODJxQO&lt;br /&gt;
nO+05dgEpOlz5Bo0IYg2V3rpH5ElBQF318XO3Vf+k3CYP7gL.9byKzLHsS89&lt;br /&gt;
mcQ637en1ohOcR639OT6.wC70R+wmJC4jo8SYVdVgLpd3pJLf9HqhY4Jt.Nr&lt;br /&gt;
Ui9XNIbiNskGGyDM2CNlma1VFPx4+nmtFNlON4pwio9NhLIwiSWvC9J3IkGu&lt;br /&gt;
KSukQ0TjqVNQ0I.Ivbqo0GN5lk..qtJPCltIX6tDO9SV7zI931uIXGGOyTJl&lt;br /&gt;
BkMplfAqwXB1uqqXlnIXsmvWKbNoOWkmdAN.AWB+MUd5u4q1ZD3IoK3bxnYm&lt;br /&gt;
p+LrxONvV+zR1dpElBa64goGsFAR61AkhS+TJTJsgRgZ6MlJktrUky.UJk6q&lt;br /&gt;
Gta2dlLuZHg.QepmmyjFSuEfIWTZBGlwRx1yq6ObBCqPo9rMJ8AaJjkGL4Pf&lt;br /&gt;
m0biede9u0DMhQJ&lt;br /&gt;
-----------end_max5_patcher-----------&lt;br /&gt;
&amp;lt;/maxpat&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Running Averages===&lt;br /&gt;
&lt;br /&gt;
I also tend to use the object quite a bit in situations where I desire a running average over some finite set of events (if you want a running average for an stream or unspecified set of values, you'd use the {{maxword|name=mean}} object). Here's an example that calculates the average of the last 8 floating point input values:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;maxpat&amp;gt;&lt;br /&gt;
----------begin_max5_patcher----------&lt;br /&gt;
498.3ocuV1sajBBEG+Z8ofvkabm.9AZ6c84nYyFFkYKsJZTrc11z28UO3z1Y&lt;br /&gt;
CyHocJwnjywCG9wePN9RX.da6dw.FcM5VTPvKgAAfqYGAK1A3F99xZ9.DFtc&lt;br /&gt;
TWKz3HyqTiMR0jM7N56NMQAdIKd635x6jp+76dQo1Lhz7zMjHTbbFz71SzuV&lt;br /&gt;
5irxLlau+m4GFxx1lFgBx.FO650vv4GQNNA.dsxOwJ+zU4mUbB7MYQ+2NgId&lt;br /&gt;
L11LicolYJwSS46P1zh8lT8CDYCMNy5TNdw4tVkdP9LvIMdymUInWQmaRuBj&lt;br /&gt;
Bx4jhc0sbsU83MRmgRwafdfuoWxqufpRGu7AztiurJQEWXIJwzvHaxVSirJO&lt;br /&gt;
odQddtFML1702yDutfvRf8LYqumAGcBMIwKZx1wxGDZTwYO7yIUoXcUgvbea&lt;br /&gt;
RzYtsIWT2jKnq3Zo5+qP.XO6+XMbncru7.TKeIidm6JwfVp3ZYq5CwjeTL2I&lt;br /&gt;
qpDpOdXbkbfusV.vSrtV5JMLGng5MZRbflLuQSpCzj3MZlWEnqPS5Qw7cSSr&lt;br /&gt;
CzD6MZRbflDuQSpCzj5MZxbflLuQCyAZXdilbGnI2azPbflOy4MlxV7ttGE8&lt;br /&gt;
CKoD.YpH+8s8ylrHvTpLlPsabu3Q4g3geaAy6mpNqmJMO1aJQtufMUfbZbdM&lt;br /&gt;
7efczjOq&lt;br /&gt;
-----------end_max5_patcher-----------&lt;br /&gt;
&amp;lt;/maxpat&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===A Bucket for Symbols===&lt;br /&gt;
&lt;br /&gt;
The {{maxword|name=bucket}} object is a little unusual in that you don't need to worry about using arguments to the object in order to have it work with floating point values. In fact, {{maxword|name=bucket}} is ''so'' useful that people often ask whether or not there's a Max object that is similar but will work with symbols or lists. While there isn't a specific object, here's a Max patch that does exactly that (and it also helpfully outputs stuff in standard right-to-left order, too):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;maxpat&amp;gt;&lt;br /&gt;
----------begin_max5_patcher----------&lt;br /&gt;
778.3oc2X10bhBCEF9Z7WACWy5jOfjvd296Xmc1A0Ta5ffCDacam9eeIm.pc&lt;br /&gt;
KsDEw05zYTOGfj22mdxW7xDufYEakUA9e2+m9dduLwyCRYR30D6ErJc67rzJ&lt;br /&gt;
31BVIqpRWJCBsWSK2pg72UrorMY9lUp7LoFdBRSx0kxJYtNUqJx+cobt11q7&lt;br /&gt;
D9z3PeBYJJzG07g+u12REazsMEtsoR0yuWku78MSLzLTh42XwAMjZAnxhYO7&lt;br /&gt;
MJtUm2UjqySWIgK8iRUZV6Urcp9Oqk1lOHXWKYdnJ0yvEv0cmI6qSlX9HbfL&lt;br /&gt;
TeeoTdRPjJL9lDMPHRoG.QnI+PHhtZg3SEmBBYLKBGXcHiCOqK0gjjqUDVj+&lt;br /&gt;
4UgtSCbryzP7UkFePAkHhCETb9vpnDTfdDjEknOaTIgciMpjyvf4E3ANyVTh&lt;br /&gt;
6PL9la8AF2Ze9.wHiwcGiQWqXr2sp3LOhEQtyC5+adjKepVHuCGOm4WJWdRk&lt;br /&gt;
U1o2wwtruCRuKSfiguhPVl9AX7j18V3WDTRPnAhxDg6nDcihR6jTX9vPIWfb&lt;br /&gt;
Fk3ja5pRgXXnTvntiR5ULJ09Y9yL+0IMwcxkn9m3CYWdtc00tAC+D4xrz7ku&lt;br /&gt;
6aWXEbOAYp7+8MD.Nwj+s.rpdc04s8bih8w65oExJsJGJwN3dLSB4u2u2qVr&lt;br /&gt;
PBWG0jYkZw5BUttQCbDeJlUeZMdcaSXFfYRE2Dsu2TUoyxj.95t.3XbAoGWX&lt;br /&gt;
F+eTtPjLUPoTLcuKpSMxtf1mKnGmKDbxNIG9lnQv.lCHdf351A7iy.LRjQxB&lt;br /&gt;
X32AAig7SFA4yStTxmhN+xmGAqJbQjO97KeAheojO2A0Sv8H+yXsrKECly+c&lt;br /&gt;
vr+iodvtL1xbr9KkdntnG1ESODWp9MmO8Z5+W39zSGKoBueQ3vnhHbGQQw1Q&lt;br /&gt;
rzcQiwL8tL5.P.9311yd+viSrupg2D03NLZTcmS0RniycMyd13GFm0Qj0cbh&lt;br /&gt;
vc2Y2.a550OJKqZTHXr585+PQoIjEBgpbaHrC9fR4ip16mBYRKq25ttde6aJ&lt;br /&gt;
sa6dqfELwzOuN4u.mi5K2B&lt;br /&gt;
-----------end_max5_patcher-----------&lt;br /&gt;
&amp;lt;/maxpat&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Arbitrary List Rotation ===&lt;br /&gt;
&lt;br /&gt;
One way to think of the {{maxword|name=bucket}} object is a as an object that adds new input values and rotates the list by one position. While you can rotate a list forward or backward using the ''r2l'' and ''l2r'' messages to the {{maxword|name=bucket}} object, performing arbitrary list rotations can be done using the {{maxword|name=zl}} object and specifying the '''rot''' option:&lt;br /&gt;
&lt;br /&gt;
[[File:Bucket-in-action-2.png|550px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;maxpat&amp;gt;&lt;br /&gt;
----------begin_max5_patcher----------&lt;br /&gt;
1116.3oc2Y1zbaqBEFds8uBtZtK80iPf9HcWW1scamNYP1DGZk.O.xIoc5+8&lt;br /&gt;
q.jh+H1wXEEZFOYhrEBc3bdz6AyA86oShJEORUQfOA9FXxjeOcxDaSlFlzc9&lt;br /&gt;
jnZxiKpHJa2hVHpqobczL20zzG011+xcfmDMfGHbMPK.RglnolljfJlRCJeB&lt;br /&gt;
TKjTf9dBGH3TvZghoYB9LPixzLE7qJysADk+ftPOG7UZMstjJM2h1YPFekwP&lt;br /&gt;
zMTNf2XtnB7.qpBTQIanfUj0p+o2ypXb5BQC25d3tFuSv0bRM05xeVxHU8cu&lt;br /&gt;
0bLdEUaiRXWiqkTUavRL94sxVuxQJDFNOdFHAgMeD2c.78slRzn6sUbusH5E&lt;br /&gt;
22F.6ZGTl4dQ4Hm4JLejsqoL9qh8Kq+BSl2aK1Ra.zRp+qnO.tStpzNdyiMM&lt;br /&gt;
7moSMGl44iUGMiFFl1OfS5Z00j9o0TWzFwLxFPTIguJ54H7XXovgEKjSs3MA&lt;br /&gt;
dJnfNFTPQOacYaXnoxaobRYk8VFBdpoJEYE8EpdEUC9W3EhsjihM3ovlOrJM&lt;br /&gt;
2bDaOBu4hXENZ.73TyBXxWzl7S4SZimZlJn8KptrU.guDzFfqaz1L91t2ToG&lt;br /&gt;
EU2qjlgw34o85ojBaVVxkkkgvWeoYoNoCLsXm7rKDKIich1GJ.gd6.BdMCH7&lt;br /&gt;
HnfhupAzaWAkby0LfPucETRwUMfFAET90LfRFAET1UMfFAED58EPaHxm4yGJ&lt;br /&gt;
zkWXV3XBJevnC9pIe89sps50k2RzZIqrQS29MUGC6fnAUUMTwc8M229tluRv&lt;br /&gt;
WcbbtW2T2KjZO5WO2PG4ZLdaI7jpWFQGqWcSn0CuC5xFlh0aC20sRp9OtT8E&lt;br /&gt;
8gV5+hxSzfR.68UaYEUybZLezVYtZcSrmbgZqznQrT1TLHd2+9KVTKNta+Ub&lt;br /&gt;
0y51dDXwkAmAUWaaNmVvu.c.7U0AdLubRd+rJG77e2XAEMd4.x1ZvE0.X767&lt;br /&gt;
S3yl.f1YmKxSGxbqvwT+6j8ayB9atoN2XwABieC5+3QTyzsyrnQgImbpSyzl&lt;br /&gt;
9HYPtoGFjlIeDoxZxheBX6+2ERnhQT0zuPuNwS1MC.OYiHdJaV7SpFTLJ+da&lt;br /&gt;
wqJZN0+9fKX1vw0d+.r89ru1gCdgJ1A2z99LTIZjK5Cit4ylA1N7KoJMiae2&lt;br /&gt;
C6zoz85y8rkKo7c2+ykLkYsXKO8Jy80cLiT9Y7FyF.FH24fg539S1d976Mcx&lt;br /&gt;
NGcfgiNPOoSVvnS54nSb3nSrmzIMXzAeFuwrueAhNGLTmlN3fQGz4nSQ3nSg&lt;br /&gt;
mzAEL5jbN5jGN5j6IcRBFcfmiNYgiNYdRGXvny47Fyd8EJ5f7jNgwc74YEDG&lt;br /&gt;
rGV93NgKOGOBKMslsbsfw0psU4lZV.drcuuvaOa63Ldq.vC+GGLZ5yjlv3fI&lt;br /&gt;
0fd4OgqxCX5GJsOzmeUIObOs7QKCGZoGtpXIqWugJUc1z5Js07+CgzbZ1L6o&lt;br /&gt;
Lt6TaA6QRpYG7c829pBhHx1Rt0s0a2Hc07+XgY6EZGm+L8+wpYGFn&lt;br /&gt;
-----------end_max5_patcher-----------&lt;br /&gt;
&amp;lt;/maxpat&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Third-Party Max externals similar to the {{maxword|name=bucket}} object==&lt;br /&gt;
&lt;br /&gt;
[//www.maxobjects.com/?request=bucket Maxobjects.com listing for the bucket object]&lt;br /&gt;
&lt;br /&gt;
==People who looked at/used this object also looked at....==&lt;br /&gt;
&lt;br /&gt;
The [http://www.cycling74.com/docs/max6/dynamic/c74_docs.html#zl zl] object (in its '''zl rot''' form)&lt;br /&gt;
&lt;br /&gt;
The [http://www.cycling74.com/docs/max6/dynamic/c74_docs.html#cycle cycle] object&lt;br /&gt;
&lt;br /&gt;
==Errors or Clarifications==&lt;br /&gt;
&lt;br /&gt;
(please list things that you believe to be errors or omissions from the existing refpage)&lt;br /&gt;
&lt;br /&gt;
[[Category:Max Refpage extensions ( symbol, A - F)]]&lt;br /&gt;
[[Category:Refpage extensions]]&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=bucket</id>
		<title>bucket</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=bucket"/>
				<updated>2013-05-01T04:57:34Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[//www.cycling74.com/docs/max6/dynamic/c74_docs.html#bucket bucket online refpage]==&lt;br /&gt;
&lt;br /&gt;
==Using the {{maxword|name=bucket}} object==&lt;br /&gt;
&lt;br /&gt;
The {{maxword|name=bucket}} object implements a [//en.wikipedia.org/wiki/Bucket_brigade bucket brigade] device (in the electronics world, this is sometimes referred to as [//en.wikipedia.org/wiki/Bucket-brigade_device a discrete time-analogue delay line]). As the examples below suggest, it's useful for single-sample delay lines, calculating averages, computing velocity and acceleration, and permutating lists by rotating them.&lt;br /&gt;
&lt;br /&gt;
=={{maxword|name=bucket}} Tutorials==&lt;br /&gt;
&lt;br /&gt;
In the Max tutorial on abstractions, you can find a classic example of why the {{maxword|name=bucket}} object is so useful - [//www.cycling74.com/docs/max6/dynamic/c74_docs.html#basicchapter15 this Max tutorial] demonstrates its use as a single sample delay for number values useful for constructing drawing commands.&lt;br /&gt;
&lt;br /&gt;
=={{maxword|name=bucket}} Tips and Workarounds==&lt;br /&gt;
&lt;br /&gt;
===Velocity and Acceleration===&lt;br /&gt;
&lt;br /&gt;
Lots of people use the &amp;lt;strong&amp;gt;bucket&amp;lt;/strong&amp;gt; object for shifting data in series, it's computationally useful for calculating first and second derivatives for streams of data. The terms &amp;quot;first and second derivative&amp;quot; are math-speak for keeping track of:&lt;br /&gt;
&lt;br /&gt;
* the rate that things are changing (that's what velocity (the first derivative) is - the rate of change in a value over time.&lt;br /&gt;
&lt;br /&gt;
* the ''rate of the rate'' that things are changing - that's what acceleration (the second derivative) is.&lt;br /&gt;
&lt;br /&gt;
[[File:Bucket-in-action.png|550px]]&lt;br /&gt;
&lt;br /&gt;
Here's a patch that does that:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;maxpat&amp;gt;&lt;br /&gt;
----------begin_max5_patcher----------&lt;br /&gt;
863.3oc4XFrbaBCDF9r8SgJmZmwICRf.bu0mgbrISGLHaqDP3QHbcZl7tWoE&lt;br /&gt;
vA2ZrAFC8Pu.dEBs69oesR32lOyZU1AVtE5qnuilM6s4ylAMYZXVk8LqzvCQ&lt;br /&gt;
Ig4P2rhxRSYBk0hxmoXGTP6psLjLTwPYqQM+cz1PwF1ihOmyhxDwnXljuOTw&lt;br /&gt;
2y9xih5QIgKzOsP.CEopQQQJWjvTfewUMtKTEskK17CIKRUF2d1d2au.4rz2&lt;br /&gt;
bC6EXt4pMPOU8R7XHDyV87cjk09bclPIBSYvi9ljGlX8giyJT0d1tt+xMq.6&lt;br /&gt;
6saLB47eAi.lbr4cRVtlP5bLSbRXRg.y1L.n5KnmLuz6ymatr3FNGbj6q4xb&lt;br /&gt;
0HfcW+flXGiuH1CFOrO..pc0JlzpmYrS.AR0xYPJbkX2RB612DlbzwRcuUL4&lt;br /&gt;
OXhvUIrSfw4Ubkih50crx.0haDGHqUZIf0fTXoEIJddBOt+TpZ4HojOXLXgc&lt;br /&gt;
BZgSjgSiblRGR53tzw2QONubzS5tjqds70nsQKCplbLUs7oqXBOpXpkRV0wn&lt;br /&gt;
i6okrlF3px1rQO38cQJApG4srd04EViZednh6.TO6RtoVCUkqcTCgCtYZH6i&lt;br /&gt;
0AmJwff8ScN7W63oiWY1YwF4pXqpNtK9RZDreeqii6Ys5gWjtElDKKDuXxND&lt;br /&gt;
8rjw45jg.qd7cuHY7FaxL3kTs.lOcmV31WwR81Y1NvocJKHhaAImkHODJxQO&lt;br /&gt;
nO+05dgEpOlz5Bo0IYg2V3rpH5ElBQF318XO3Vf+k3CYP7gL.9byKzLHsS89&lt;br /&gt;
mcQ637en1ohOcR639OT6.wC70R+wmJC4jo8SYVdVgLpd3pJLf9HqhY4Jt.Nr&lt;br /&gt;
Ui9XNIbiNskGGyDM2CNlma1VFPx4+nmtFNlON4pwio9NhLIwiSWvC9J3IkGu&lt;br /&gt;
KSukQ0TjqVNQ0I.Ivbqo0GN5lk..qtJPCltIX6tDO9SV7zI931uIXGGOyTJl&lt;br /&gt;
BkMplfAqwXB1uqqXlnIXsmvWKbNoOWkmdAN.AWB+MUd5u4q1ZD3IoK3bxnYm&lt;br /&gt;
p+LrxONvV+zR1dpElBa64goGsFAR61AkhS+TJTJsgRgZ6MlJktrUky.UJk6q&lt;br /&gt;
Gta2dlLuZHg.QepmmyjFSuEfIWTZBGlwRx1yq6ObBCqPo9rMJ8AaJjkGL4Pf&lt;br /&gt;
m0biede9u0DMhQJ&lt;br /&gt;
-----------end_max5_patcher-----------&lt;br /&gt;
&amp;lt;/maxpat&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Running Averages===&lt;br /&gt;
&lt;br /&gt;
I also tend to use the object quite a bit in situations where I desire a running average over some finite set of events (if you want a running average for an stream or unspecified set of values, you'd use the {{maxword|name=mean}} object). Here's an example that calculates the average of the last 8 floating point input values:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;maxpat&amp;gt;&lt;br /&gt;
----------begin_max5_patcher----------&lt;br /&gt;
498.3ocuV1sajBBEG+Z8ofvkabm.9AZ6c84nYyFFkYKsJZTrc11z28UO3z1Y&lt;br /&gt;
CyHocJwnjywCG9wePN9RX.da6dw.FcM5VTPvKgAAfqYGAK1A3F99xZ9.DFtc&lt;br /&gt;
TWKz3HyqTiMR0jM7N56NMQAdIKd635x6jp+76dQo1Lhz7zMjHTbbFz71SzuV&lt;br /&gt;
5irxLlau+m4GFxx1lFgBx.FO650vv4GQNNA.dsxOwJ+zU4mUbB7MYQ+2NgId&lt;br /&gt;
L11LicolYJwSS46P1zh8lT8CDYCMNy5TNdw4tVkdP9LvIMdymUInWQmaRuBj&lt;br /&gt;
Bx4jhc0sbsU83MRmgRwafdfuoWxqufpRGu7AztiurJQEWXIJwzvHaxVSirJO&lt;br /&gt;
odQddtFML1702yDutfvRf8LYqumAGcBMIwKZx1wxGDZTwYO7yIUoXcUgvbea&lt;br /&gt;
RzYtsIWT2jKnq3Zo5+qP.XO6+XMbncru7.TKeIidm6JwfVp3ZYq5CwjeTL2I&lt;br /&gt;
qpDpOdXbkbfusV.vSrtV5JMLGng5MZRbflLuQSpCzj3MZlWEnqPS5Qw7cSSr&lt;br /&gt;
CzD6MZRbflDuQSpCzj5MZxbflLuQCyAZXdilbGnI2azPbflOy4MlxV7ttGE8&lt;br /&gt;
CKoD.YpH+8s8ylrHvTpLlPsabu3Q4g3geaAy6mpNqmJMO1aJQtufMUfbZbdM&lt;br /&gt;
7efczjOq&lt;br /&gt;
-----------end_max5_patcher-----------&lt;br /&gt;
&amp;lt;/maxpat&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===A Bucket for Symbols===&lt;br /&gt;
&lt;br /&gt;
The {{maxword|name=bucket}} object is a little unusual in that you don't need to worry about using arguments to the object in order to have it work with floating point values. In fact, {{maxword|name=bucket}} is ''so'' useful that people often ask whether or not there's a Max object that is similar but will work with symbols or lists. While there isn't a specific object, here's a Max patch that does exactly that (and it also helpfully outputs stuff in standard right-to-left order, too):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;maxpat&amp;gt;&lt;br /&gt;
----------begin_max5_patcher----------&lt;br /&gt;
778.3oc2X10bhBCEF9Z7WACWy5jOfjvd296Xmc1A0Ta5ffCDacam9eeIm.pc&lt;br /&gt;
KsDEw05zYTOGfj22mdxW7xDufYEakUA9e2+m9dduLwyCRYR30D6ErJc67rzJ&lt;br /&gt;
31BVIqpRWJCBsWSK2pg72UrorMY9lUp7LoFdBRSx0kxJYtNUqJx+cobt11q7&lt;br /&gt;
D9z3PeBYJJzG07g+u12REazsMEtsoR0yuWku78MSLzLTh42XwAMjZAnxhYO7&lt;br /&gt;
MJtUm2UjqySWIgK8iRUZV6Urcp9Oqk1lOHXWKYdnJ0yvEv0cmI6qSlX9HbfL&lt;br /&gt;
TeeoTdRPjJL9lDMPHRoG.QnI+PHhtZg3SEmBBYLKBGXcHiCOqK0gjjqUDVj+&lt;br /&gt;
4UgtSCbryzP7UkFePAkHhCETb9vpnDTfdDjEknOaTIgciMpjyvf4E3ANyVTh&lt;br /&gt;
6PL9la8AF2Ze9.wHiwcGiQWqXr2sp3LOhEQtyC5+adjKepVHuCGOm4WJWdRk&lt;br /&gt;
U1o2wwtruCRuKSfiguhPVl9AX7j18V3WDTRPnAhxDg6nDcihR6jTX9vPIWfb&lt;br /&gt;
Fk3ja5pRgXXnTvntiR5ULJ09Y9yL+0IMwcxkn9m3CYWdtc00tAC+D4xrz7ku&lt;br /&gt;
6aWXEbOAYp7+8MD.Nwj+s.rpdc04s8bih8w65oExJsJGJwN3dLSB4u2u2qVr&lt;br /&gt;
PBWG0jYkZw5BUttQCbDeJlUeZMdcaSXFfYRE2Dsu2TUoyxj.95t.3XbAoGWX&lt;br /&gt;
F+eTtPjLUPoTLcuKpSMxtf1mKnGmKDbxNIG9lnQv.lCHdf351A7iy.LRjQxB&lt;br /&gt;
X32AAig7SFA4yStTxmhN+xmGAqJbQjO97KeAheojO2A0Sv8H+yXsrKECly+c&lt;br /&gt;
vr+iodvtL1xbr9KkdntnG1ESODWp9MmO8Z5+W39zSGKoBueQ3vnhHbGQQw1Q&lt;br /&gt;
rzcQiwL8tL5.P.9311yd+viSrupg2D03NLZTcmS0RniycMyd13GFm0Qj0cbh&lt;br /&gt;
vc2Y2.a550OJKqZTHXr585+PQoIjEBgpbaHrC9fR4ip16mBYRKq25ttde6aJ&lt;br /&gt;
sa6dqfELwzOuN4u.mi5K2B&lt;br /&gt;
-----------end_max5_patcher-----------&lt;br /&gt;
&amp;lt;/maxpat&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Arbitrary List Rotation ===&lt;br /&gt;
&lt;br /&gt;
One way to think of the {{maxword|name=bucket}} object is a as an object that adds new input values and rotates the list by one position. While you can rotate a list forward or backward using the ''r2l'' and ''l2r'' messages to the {{maxword|name=bucket}} object, performing arbitrary list rotations can be done using the {{maxword|name=zl}} object and specifying the '''rot''' option:&lt;br /&gt;
&lt;br /&gt;
[[File:Bucket-in-action-2.png|550px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;maxpat&amp;gt;&lt;br /&gt;
----------begin_max5_patcher----------&lt;br /&gt;
1116.3oc2Y1zbaqBEFds8uBtZtK80iPf9HcWW1scamNYP1DGZk.O.xIoc5+8&lt;br /&gt;
q.jh+H1wXEEZFOYhrEBc3bdz6AyA86oShJEORUQfOA9FXxjeOcxDaSlFlzc9&lt;br /&gt;
jnZxiKpHJa2hVHpqobczL20zzG011+xcfmDMfGHbMPK.RglnolljfJlRCJeB&lt;br /&gt;
TKjTf9dBGH3TvZghoYB9LPixzLE7qJysADk+ftPOG7UZMstjJM2h1YPFekwP&lt;br /&gt;
zMTNf2XtnB7.qpBTQIanfUj0p+o2ypXb5BQC25d3tFuSv0bRM05xeVxHU8cu&lt;br /&gt;
0bLdEUaiRXWiqkTUavRL94sxVuxQJDFNOdFHAgMeD2c.78slRzn6sUbusH5E&lt;br /&gt;
22F.6ZGTl4dQ4Hm4JLejsqoL9qh8Kq+BSl2aK1Ra.zRp+qnO.tStpzNdyiMM&lt;br /&gt;
7moSMGl44iUGMiFFl1OfS5Z00j9o0TWzFwLxFPTIguJ54H7XXovgEKjSs3MA&lt;br /&gt;
dJnfNFTPQOacYaXnoxaobRYk8VFBdpoJEYE8EpdEUC9W3EhsjihM3ovlOrJM&lt;br /&gt;
2bDaOBu4hXENZ.73TyBXxWzl7S4SZimZlJn8KptrU.guDzFfqaz1L91t2ToG&lt;br /&gt;
EU2qjlgw34o85ojBaVVxkkkgvWeoYoNoCLsXm7rKDKIich1GJ.gd6.BdMCH7&lt;br /&gt;
HnfhupAzaWAkby0LfPucETRwUMfFAET90LfRFAET1UMfFAED58EPaHxm4yGJ&lt;br /&gt;
zkWXV3XBJevnC9pIe89sps50k2RzZIqrQS29MUGC6fnAUUMTwc8M229tluRv&lt;br /&gt;
WcbbtW2T2KjZO5WO2PG4ZLdaI7jpWFQGqWcSn0CuC5xFlh0aC20sRp9OtT8E&lt;br /&gt;
8gV5+hxSzfR.68UaYEUybZLezVYtZcSrmbgZqznQrT1TLHd2+9KVTKNta+Ub&lt;br /&gt;
0y51dDXwkAmAUWaaNmVvu.c.7U0AdLubRd+rJG77e2XAEMd4.x1ZvE0.X767&lt;br /&gt;
S3yl.f1YmKxSGxbqvwT+6j8ayB9atoN2XwABieC5+3QTyzsyrnQgImbpSyzl&lt;br /&gt;
9HYPtoGFjlIeDoxZxheBX6+2ERnhQT0zuPuNwS1MC.OYiHdJaV7SpFTLJ+da&lt;br /&gt;
wqJZN0+9fKX1vw0d+.r89ru1gCdgJ1A2z99LTIZjK5Cit4ylA1N7KoJMiae2&lt;br /&gt;
C6zoz85y8rkKo7c2+ykLkYsXKO8Jy80cLiT9Y7FyF.FH24fg539S1d976Mcx&lt;br /&gt;
NGcfgiNPOoSVvnS54nSb3nSrmzIMXzAeFuwrueAhNGLTmlN3fQGz4nSQ3nSg&lt;br /&gt;
mzAEL5jbN5jGN5j6IcRBFcfmiNYgiNYdRGXvny47Fyd8EJ5f7jNgwc74YEDG&lt;br /&gt;
rGV93NgKOGOBKMslsbsfw0psU4lZV.drcuuvaOa63Ldq.vC+GGLZ5yjlv3fI&lt;br /&gt;
0fd4OgqxCX5GJsOzmeUIObOs7QKCGZoGtpXIqWugJUc1z5Js07+CgzbZ1L6o&lt;br /&gt;
Lt6TaA6QRpYG7c829pBhHx1Rt0s0a2Hc07+XgY6EZGm+L8+wpYGFn&lt;br /&gt;
-----------end_max5_patcher-----------&lt;br /&gt;
&amp;lt;/maxpat&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Third-Party Max externals similar to the {{maxword|name=bucket}} object==&lt;br /&gt;
&lt;br /&gt;
[//www.maxobjects.com/?request=bucket Maxobjects.com listing for the bucket object]&lt;br /&gt;
&lt;br /&gt;
==People who looked at/used this object also looked at....==&lt;br /&gt;
&lt;br /&gt;
The [http://www.cycling74.com/docs/max6/dynamic/c74_docs.html#zl zl] object (in its '''zl rot''' form). Useful for performing rotations of lists.&lt;br /&gt;
&lt;br /&gt;
The [http://www.cycling74.com/docs/max6/dynamic/c74_docs.html#cycle cycle] object&lt;br /&gt;
&lt;br /&gt;
==Errors or Clarifications==&lt;br /&gt;
&lt;br /&gt;
(please list things that you believe to be errors or omissions from the existing refpage)&lt;br /&gt;
&lt;br /&gt;
[[Category:Max Refpage extensions ( symbol, A - F)]]&lt;br /&gt;
[[Category:Refpage extensions]]&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=jit.scanwrap</id>
		<title>jit.scanwrap</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=jit.scanwrap"/>
				<updated>2013-05-01T04:52:05Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: /* {{maxword|name=jit.scanwrap}} Tutorials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[//www.cycling74.com/docs/max6/dynamic/c74_docs.html#jit.scanwrap jit.scanwrap online refpage]==&lt;br /&gt;
&lt;br /&gt;
==Using the {{maxword|name=jit.scanwrap}} object==&lt;br /&gt;
&lt;br /&gt;
The {{maxword|name=jit.scanwrap}} object can be used to emulate H-Sync and V-Sync offsets like those you might have seen on old CRT televisions or to create tiled grids of incoming matrices.&lt;br /&gt;
&lt;br /&gt;
=={{maxword|name=jit.scanwrap}} Tutorials==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;none&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=={{maxword|name=jit.scanwrap}} Tips and Workarounds==&lt;br /&gt;
&lt;br /&gt;
*While jit.scanwrap can be great for skewing a video to create wonky effects, I also often use it when I want to make the matrixoutput of a jit.gl.model a little more flexible by converting it from a one to a two dimensional matrix. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;maxpat&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
----------begin_max5_patcher----------&lt;br /&gt;
1943.3ocyZsraiaCEccxWAGiBzE0iqHod4tZJ59VfhAnK5TDPaQawIxhJjTi&lt;br /&gt;
S5f9uW9PNwdhSFFKJYuIN5E4km68b3kWxud8USVvumJm.9EveCt5pud8UWYu&lt;br /&gt;
k4FW0c8US1PteYEQZesIK4a1PqUSl5dlhduxd+OVxjfJlRUQAMD0xRPqjJAe&lt;br /&gt;
lolIWRp2JHM.EGHnq3hMDEPURA5eEr6A5ljUuFvaU.9J6WrtZ1FdAsBrRv2.&lt;br /&gt;
H.Hnfo6UIiWSpLMCZ+aLErjzJMMASAVPKIegp+lNaYCWP0++sTaOp6iFW2H4&lt;br /&gt;
anpRyGYeXWutVvJjkjF5rcCvJVMcIus1NJwc2rtUawUTkERfc2jUXAB9hO+d&lt;br /&gt;
T7tOeEuVUS1PsO5WELR0jmZCs0rqQh189h0KrWOa2cZDToFvIJ8X8FAcox4s&lt;br /&gt;
PX8a.PymkL09xl+.9m85UI6es8JJ9olx3WzC48ZFnsYxLsxbbp4+yyLMj4C9&lt;br /&gt;
uqu17mo8Lx3uJYZ+f10Tvox5eTAHUaIOHAKEThx3o9zjFpXk1j9zDfrUrhrj&lt;br /&gt;
N079qYeQGAo8jbqGS2dBBf2X.BoIHnoh7.XKSUdbmExWmEdvcVooVWTbJ565&lt;br /&gt;
tfnWycgSs9qzzbSCgxflqv3.6w9c9VMaQSR4sBfiHVRzP9V9SzNowkTPTjof&lt;br /&gt;
sTMAr14NHBM7WX8JVJl4sLDuBAY6MllR5Z4BtIR3tVlNBXKWbq6KruIyLb2o&lt;br /&gt;
M7Dgcecgi5uy70eCCm+dQ6hEUz86nWHBHNI2FAjG8Vh.bMeCm4FgQyhm+xwF&lt;br /&gt;
wIlODjDaCxfoYlqfQwAN3vJzq3qWqI0F.B7.uEH0tOsj+BpZKkVCHsJt1AxV&lt;br /&gt;
Rppd.HoJkQn03cuGPzgGOrebjlIadh7tVhVpVvcrcysTbkVte+PNc3HotsqU&lt;br /&gt;
qLwID8yWshJzlpdxkJKtKKYMy.8RAGlMjAI95tyieEof4V2MJx5tw3XqyGFX&lt;br /&gt;
uMF7dvuUx4RiPsclwI9hfwmAZVZtEFP43uOMK8znYow1t.mY6BXmWHOv3drF&lt;br /&gt;
2ueEof9HmxPHdL8DKKxlBkQN7c8KTGeFbTI4QNTLsyGEdGURbhUxM1NIIL0d&lt;br /&gt;
UZnkCQZG0eRIE.lV1CbvrSeWfGcF.d7b6DQY3AC2wIotYdrczPQPfZb+ishZ&lt;br /&gt;
veTCtSmJuf6MrGMZR6mJBhO..g8B.qoa0i5mge+D.dT.C8b.KI4sBX6.C2sT&lt;br /&gt;
OzPcCrI1g+Ij1qKQWTxbqngcFOTzIBHtbWl7XuIzCHEUbCslz4Ki7LRJItOC&lt;br /&gt;
+WYbpWIV2HrGiyWvw2kpF5E7+3iLLQAy+2GmetiND0OTgnThVluZEIvScna5&lt;br /&gt;
GGdueRSAAPh6nAtoPg4v9ElztYAUDB5P7aNiOzqQTlBlrfTu9zPHzd5EICBO&lt;br /&gt;
5c+r1HRwo9phFiN2pnwtITvv3PPj1PkRxZ5ymX9MAJvyqzhq7WnXqdaRGe5D&lt;br /&gt;
ADSAJV0HW6u5BddvHLF1xof.G..c4jmDVhxtB2Pkkfh1k29dSsf8uhcyOBtk&lt;br /&gt;
GLbSab23J0zohfnjj8JIWGq5jKI2pJt1xCgZLNKXfj1nH8SONOyU+Sb.zieI&lt;br /&gt;
gG2xk+An+gVGQPBmbVEj1ATyidRPBCCOezhU9JRiwWdzsDjitgSFh41EZC2T&lt;br /&gt;
I5M9BQnrwPIG+p.StKmGjMzwUsCz.D53ber5UdufabzPyo7AXfywOMGWnAF4&lt;br /&gt;
cBkuvAJbIB5DlOEVTWvhadeLbHHQGr0u4.qshQfOXpQFHB7ARAoQAh52FsFc&lt;br /&gt;
4IMEiPOtyK5qxBKp1HnMz5hWTb5XE7Z9kv52M+ni0xxFhXsFxxa0wTQ9pWCy&lt;br /&gt;
uHfjX2z7oCR9PBSUoMIbOqf38b8vy6Bx5nPPHduknByGlEjX2X6GWQhVXxx9&lt;br /&gt;
61wYXuzkle4IKAi2GSCsrz2d9YFHb8RZgecj3Gk6GRbsjTWTc.nZ1h8aDbk4&lt;br /&gt;
Hz.604eI67WDhN5dZrKm99cpVdAjTAV.nBhz6MvNMX3hcYyZrw08mbUZft.t&lt;br /&gt;
9V3t.t+GAd6O5FlvGGegOQA2VEBfIdu32fMe3oV7jNT4.46gHW8sr5B91SoD&lt;br /&gt;
cGKw7fSd5Q0MyyBQo4dcEZgNobpHPnG7RB8bGvn9hdus8cKddu22sGOwgm9d&lt;br /&gt;
uY7w2rkUnJMOH+0yxxctJRxcygkLp6RYT+2kxMbtp7FctaELSDSHyo2gLo3j&lt;br /&gt;
WCYrMrks7MGGcaKZt+gvkj2JVtyr5RMD7zAYofJUrZ6geYu2wTIy8doRVQAs&lt;br /&gt;
d+Y7JXRyjfVnM5n9MeMGSkI7ydfih8j3i4LZnC1CqIczrlTOrF3nZMvKFqAB&lt;br /&gt;
8.blOdlybOLmug68b6YCqvdTr5jZvtSkcLz9CxsLD6UO0QAaD3y..GMZ.ZPv&lt;br /&gt;
y.JL3iroY2VFKY7LerGz3gO9XO3jwydRtrl10K8g7SSdHJcVVxzCub.DH7Qv&lt;br /&gt;
EOdJtYWTSN5EezbphFozpf9j1Ib77VwHerm7wKsSX.3iAzb7Fdtfrm3wa5Ej&lt;br /&gt;
O1i0nGmvGyQJ0O6AMN9Kurmwa52jDewmQJc.eVXGd73Wwyurrmjngzdb0Pgz&lt;br /&gt;
z7EpP10lVSYxFxm41B8jN0dIq1cosNPSDzuv1891JINgHVVxTzkpVgqVR2mm&lt;br /&gt;
N4ZS+7eW++jdufvJ&lt;br /&gt;
-----------end_max5_patcher-----------&lt;br /&gt;
&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/maxpat&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
* I also love what happens when you start applying the jit.scanwrap set to @mode 2 to geometry instead of visual input.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;maxpat&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
----------begin_max5_patcher----------&lt;br /&gt;
1223.3ocyY9zaihCFF+bxmBKzdrSE1FBvdpq1S6o4xba0nHmfSh6B1YsMMY2&lt;br /&gt;
Qy280+Axl1Is0IPYPZTGAXLO7yu9884k7s4yhVINRUQfeE7mfYy917Yybmxd&lt;br /&gt;
hYsGOKplbbcEQ4FVzZQcMkqityeMM8n1cdL3Sf+fqkhxl0TfRTSAanzxUj0+&lt;br /&gt;
U2XqXb5ZQC2cCn1SxapY7Jp1M6v1SxJcyoX0ieBUzc6aDbMmTScW52jLRUz+&lt;br /&gt;
OGhFc2jD2Md41Utiuu6LqZVsphd9CxNmJ1+5O2hWLv8BlWqw2mTzdk8D85cL&lt;br /&gt;
91kR5ZsmaIow2mdG.kiL2uYVRs+WhYx.e0dOee9b6etKP9RzZYCKJT5jcszo&lt;br /&gt;
aRrOG2XKY0cizOL8+rm5eyhh.e8RfBcBTW.G3LKvAn3BONZO5FwAmdv7d9CQ&lt;br /&gt;
aOxz2WSzR1QfdGUsirmBvfMUBhFi.Iwl+cwnNbnbcw0xUzqwPiTW5kZzc8hn&lt;br /&gt;
37E13LXr6njreZD8cgW5DBdnzDWbXVlCdEvdEN9ZY+9xNlBTwzF4Cbh.znnJ&lt;br /&gt;
fEpp0D9AIYOPK.6oxMBYMfKdhVcJ+HftYiQuJffaYOvPg8MZfXi692Vc+VIq&lt;br /&gt;
zshzuLoICWlzy4OJ4s3ODaAtC9oItTBKFZ3iLkd98cBghBHfmwo2CIvjIewE&lt;br /&gt;
blK7M1GEW3pwfxGXBZKd+4MaTTsK.zTRfxULAWAX9Pxtf3dkTEhm5zNE6wbt&lt;br /&gt;
G5VNahWSFXZCMz9KMRN3ybveWSMdlBNdMdpSPL1Gtl6CWg8Jb857BkB6sWnm&lt;br /&gt;
k7XPbC0U9oEH48q7isdvl8psgCEbwfUK9Vq.6q.fRbtWx8VYRGdyKl5j0FeK&lt;br /&gt;
.Ws1GT0Bgd2RyBZoQM.H3gJ11cZqxnbhIdF.uHBKt.Bymd1YRgEVZhgI8Jdx&lt;br /&gt;
Xuyn7nSONo4kSSksH577GuabV1fAImmSKeVQ3auI+xEXWCYEtNwR6WCHlXJE&lt;br /&gt;
YK8GB4NtgTRA+BLbKYnKPszaMk0vzplGTXDxYOyu0DN7aMcrJJTlfmda2voo&lt;br /&gt;
ttGvoeTMydpKgWzyE3gZgINCEbuWwSuFWagHBh9nn248H0V.vq71VoLo+MdZ&lt;br /&gt;
uttXmfY8gs4xxx9.A4NBurpihjFsXoTnI5yJXdScel8y2Gh2HBz3m2sW1YEy&lt;br /&gt;
5WcHgnFrBPkDUvsfNbenIW4RCa7O9a1nFLC5cr1u5lZw1sUzgvZQ5UVIz0mx&lt;br /&gt;
We2WS3o2ugeqjuqNy90fK5MX9.tUSSsTIAODK9uQFlCLdo3.37Olv6VSav2h&lt;br /&gt;
zi1XxyN6iv9AkBVR4kT4UwH3ThQwngfQWW2+IE8+WBQRNrzZ251+B.1UxkGX&lt;br /&gt;
k5c1Kj+1E0KbkwSvdukoiIsRi6+2J4YcXOrezjVxz9Cd7JjwMwNyHu3GvzMi&lt;br /&gt;
1y+bboDMx0cxpq6KP7I8URUZFmnYB94CB+rAsiUVR4mW9pjorUzbrM9hKbAq&lt;br /&gt;
mrPzS53om.jyhQSMAsXMZpIjkJ3nolESN0.mLpAFRbSwnIm7.jCZ71imFBdx&lt;br /&gt;
GM4flZojCIGHZDSBFGBeFu0qjhokdBZ8ZD0CJj5Dn3wSOwgt+BNc1uey7w6P&lt;br /&gt;
jre+STopcNcRwXc9QgyF6h6bGx39CctbijzmXci20mTDQZ7npMFTajdmxGyW&lt;br /&gt;
DM29b997+CP7IsLL&lt;br /&gt;
-----------end_max5_patcher-----------&lt;br /&gt;
&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/maxpat&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Third-Party Max externals similar to the {{maxword|name=jit.scanwrap}} object==&lt;br /&gt;
&lt;br /&gt;
[//www.maxobjects.com/?request=jit.scanwrap Maxobjects.com listing for the jit.scanwrap object]&lt;br /&gt;
&lt;br /&gt;
==People who looked at/used this object also looked at....==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Errors or Clarifications==&lt;br /&gt;
&lt;br /&gt;
(please list things that you believe to be errors or omissions from the existing refpage)&lt;br /&gt;
&lt;br /&gt;
[[Category:Jitter Refpage extensions jit.(N - T)]]&lt;br /&gt;
[[Category:Refpage extensions]]&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=jit.qt.movie</id>
		<title>jit.qt.movie</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=jit.qt.movie"/>
				<updated>2013-05-01T04:51:00Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: /* People who looked at/used this object also looked at.... */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[//www.cycling74.com/docs/max6/dynamic/c74_docs.html#jit.qt.movie jit.qt.movie online refpage]==&lt;br /&gt;
&lt;br /&gt;
==Using the {{maxword|name=jit.qt.movie}} object==&lt;br /&gt;
&lt;br /&gt;
The example ./examples/jitter-examples/video/quicktime/PolyMovie/Poly~ForMovies.maxpat shows one way to make each movie a poly~ voice, which might be fun.&lt;br /&gt;
&lt;br /&gt;
The Vizzie ./packages/vizzie/clippings/VIZZIE PVR/PLAYR is a convenient wrapper for jit.qt.movie. Note that it includes a qmetro.&lt;br /&gt;
&lt;br /&gt;
=={{maxword|name=jit.qt.movie}} Tutorials==&lt;br /&gt;
&lt;br /&gt;
* Jitter Tutorial 1 provides a very basic introduction.&lt;br /&gt;
* Jitter Tuorial 4 discusses how to find the length of a movie, set loop points, and playback speed. &lt;br /&gt;
&lt;br /&gt;
* Here are a series of video tutorials that take you through playing and optimizing movie playback:&lt;br /&gt;
Play a movie: {{#ev:youtube|VXTxZUsFIuY}}&lt;br /&gt;
Optimize movie playback:  {{#ev:youtube|8xwdbdljAKA}}&lt;br /&gt;
Play a movie in openGL: {{#ev:youtube|T66ApWA8J2I}}&lt;br /&gt;
&lt;br /&gt;
=={{maxword|name=jit.qt.movie}} Tips and Workarounds==&lt;br /&gt;
&lt;br /&gt;
* By default resolution is 320 x 240, so you should probably add the attribute @adapt 1 to read the movie at its native resolution. Or you use the attribute @dim if you'd like to force all movies to a common resolution.&lt;br /&gt;
&lt;br /&gt;
* As soon as you read a movie, it begins playing, whether you're banging it or not. You can control playback manually with the start and stop message. Or you can turn off automatic playback by setting the attribute @autostart 0. With autostart off, it can sometimes be useful to call each frame explicitly, using the frame $1, bang message. If frame accuracy is critical, use frame_true $1, bang.&lt;br /&gt;
&lt;br /&gt;
* If you are banging jit.qt.movie faster than its playback frame rate, you'll get duplicate frames, which can waste your processing resources. Adding the attribute @unique 1 eliminates duplicates.&lt;br /&gt;
&lt;br /&gt;
* If the movie has a sound track, you'll hear it playing through QuickTime. You can turn off its sound using the vol 0 message. If you'd like to process the movie's sound track with MSP, you can use the spigot~ object, which creates a separate sound file of the movie sound track and plays it in sync with the movie. Sometimes I just make two files with the same name, one with the .mov extension and one with the .aif extension. That way you can load the sound file into a buffer~.&lt;br /&gt;
&lt;br /&gt;
* If your movie's codec uses the 4:2:2 color space (e.g. ProRes 422, DVCPRO HD, DV) and you're sending matrices directly to an openGL object (e.g. jit.gl.slab or jit.gl.videoplane), you can reduce the data rate going to your graphics card in half by using the attribute @colormode uyvy in both jit.qt.movie and the first openGL object. The video is converted from YUV to RGB in the graphics card, which saves some processing cycles. &amp;lt;maxpat&amp;gt;&lt;br /&gt;
----------begin_max5_patcher----------&lt;br /&gt;
699.3ocyW1saaBCEG+ZxSgEWyPXSBIsWsIsGgocyTUjANk3NvlZaxGqpu6Ca&lt;br /&gt;
f0zFZCAQilRTr7wVG++7ymisySybbiE6AkK5VzuPNNOMywwZxXvosuiaAceR&lt;br /&gt;
NUYmlahnn.3ZWulwzvds09O1vTn5uTjegXK5dVNfpTLdFRuAPe+mnDQJj3g1&lt;br /&gt;
sgkrodDPYGX9sjaI0ikKjpRZB3243bFGRDUbq2IsFYo10RD+vWtoah2K3ZNs&lt;br /&gt;
.ri7MIil2MBupfwyAsU33VikTcxlZYsVBI5l.mrJvOvCgIQ9K7PD7Mldgg9A&lt;br /&gt;
n6dwShJcmqBNZkUr+XWYLw+elkYw1o4GXL77rYle7FHe4vt5v6D79.S6mk6q&lt;br /&gt;
xownuZwUQMOQUG1dv8T3fwWHcHmkNjkQVHsXosWv6RGxGSmlYpOTBMt2DYqy&lt;br /&gt;
xWahzJI35gbcQ2MBvU.JEMCNgbRflhR2lVk7akI0rObEL43BG0fqfU1lUuKt&lt;br /&gt;
vWHtFGbdmrJMJt9CHoJnGrrZ5JwvAXCGZxghNWJT3ExjXJOyj3z01DPiBTl5&lt;br /&gt;
rxcLdpXWODY4HiaRTnooI0H570Nmtq6Mw67smmHAdJH6IRil78dBwVJrLXhO&lt;br /&gt;
+naS+y.OaYofnLmx6q7XwjeCTHwllbS3mvQrETsjse7fRKxxx6CCyGY9vptf&lt;br /&gt;
7MgZIUVyRMHWCbZbNb7Mt8ez4IwKy7pgILa3wZ8HE0xrmvmLcWczBlPKYhVb&lt;br /&gt;
lj.7XpSl5ZjG0lqTYvPdSxjWtzdhBNZ4UrdwtD1Wm9lmMa0ow9qIoRTIS5bb&lt;br /&gt;
6spnWDZJnzLNUyD7ilSzqlyFVZJvOtNHkoLkFV31+iLuD0P9uRM3ynF7USMy&lt;br /&gt;
GvNE4poFx.TypqlZv3AHmEWO4DL.4b8xbFBbviUNMm.QKK2BRUqOsJo9T6GD&lt;br /&gt;
RS2HOaWFuoq0i0+Qnsrt4ublwaOO6uvIf7qR&lt;br /&gt;
-----------end_max5_patcher-----------&lt;br /&gt;
&amp;lt;/maxpat&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* By default, jit.qt.movie plays the movie file from the hard disk, which can be wasteful if you're looping a movie. After you read the file, use the loadram message to load the movie into RAM, which can improve performance. In my tests, this is just as efficient as using the jit.matrixset object.&lt;br /&gt;
&lt;br /&gt;
==Third-Party Max externals similar to the {{maxword|name=jit.qt.movie}} object==&lt;br /&gt;
&lt;br /&gt;
[//www.maxobjects.com/?request=jit.qt.movie Maxobjects.com listing for the jit.qt.movie object]&lt;br /&gt;
&lt;br /&gt;
==People who looked at/used this object also looked at....==&lt;br /&gt;
&lt;br /&gt;
* {{maxword|name=jit.qt.record}}&lt;br /&gt;
* {{maxword|name=jit.matrixset}}&lt;br /&gt;
* {{maxword|name=playbar}}&lt;br /&gt;
* {{maxword|name=spigot~}}&lt;br /&gt;
&lt;br /&gt;
==Errors or Clarifications==&lt;br /&gt;
&lt;br /&gt;
(please list things that you believe to be errors or omissions from the existing refpage)&lt;br /&gt;
&lt;br /&gt;
[[Category:Jitter Refpage extensions jit.(N - T)]]&lt;br /&gt;
[[Category:Refpage extensions]]&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=number</id>
		<title>number</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=number"/>
				<updated>2013-05-01T04:48:50Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[//www.cycling74.com/docs/max6/dynamic/c74_docs.html#number number online refpage]==&lt;br /&gt;
&lt;br /&gt;
==Using the {{maxword|name=number}} object==&lt;br /&gt;
&lt;br /&gt;
The {{maxword|name=number}} object will be one of your most heavily utilized objects, from beginning to advanced patching in both the editing and the UI stage of the Max patcher.&lt;br /&gt;
&lt;br /&gt;
{{maxword|name=number}} displays, inputs, and outputs integer numbers, as well as several other formats.&lt;br /&gt;
&lt;br /&gt;
=={{maxword|name=comment}} Tutorials==&lt;br /&gt;
&lt;br /&gt;
* The {{maxword|name=number}} object is covered in [http://www.cycling74.com/docs/max6/dynamic/c74_docs.html#basicchapter03 the Third Max tutorial]&lt;br /&gt;
* It is also part of [[20Objects_Lesson_02_-_The Number Box|the Second lesson in the 20 Objects series]].&lt;br /&gt;
&lt;br /&gt;
=={{maxword|name=number}} Tips and Workarounds==&lt;br /&gt;
&lt;br /&gt;
• {{maxword|name=number}} has several format options that can be accessed by entering the inspector for the object and looking under the Appearance heading. One of its most useful formats for UI based presentations and midi note implementation is the Midi Note Name. It displays numbers according to their MIDI pitch value, with 60 displayed as C3 or an alternate format with 60 displayed as C4.&lt;br /&gt;
&lt;br /&gt;
• The appearance of {{maxword|name=number}} can be changed in many ways by entering the inspector. Attaching a {{maxword|name=Attrui}} object allows quick and easy UI color and font changes.&lt;br /&gt;
&lt;br /&gt;
• {{maxword|name=number}} has three very useful tracking settings accessed via the inspector, that allows control over the way number outputs it's value and the control input from mouse and keyboard.&lt;br /&gt;
&lt;br /&gt;
• Hit the 'i' key to add a new {{maxword|name=number}} object to your patch.&lt;br /&gt;
&lt;br /&gt;
==Third-Party Max externals similar to the {{maxword|name=number}} object==&lt;br /&gt;
&lt;br /&gt;
[//www.maxobjects.com/?request=number Maxobjects.com listing for the number object]&lt;br /&gt;
&lt;br /&gt;
==People who looked at/used this object also looked at....==&lt;br /&gt;
&lt;br /&gt;
* {{maxword|name=flonum}}&lt;br /&gt;
* {{maxword|name=float}}&lt;br /&gt;
* {{maxword|name=int}}&lt;br /&gt;
* {{maxword|name=message}}&lt;br /&gt;
&lt;br /&gt;
==Errors or Clarifications==&lt;br /&gt;
&lt;br /&gt;
(please list things that you believe to be errors or omissions from the existing refpage)&lt;br /&gt;
&lt;br /&gt;
[[Category:Max Refpage extensions (N - T)]]&lt;br /&gt;
[[Category:Refpage extensions]]&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p2</id>
		<title>SimpleArduinoConnection-p2</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p2"/>
				<updated>2013-05-01T03:26:13Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Step 1: Create an Arduino-based Circuit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will begin our Arduino connection by creating a simple circuit. This circuit will use a small potentiometer for input, and four LEDs for visual output. The parts necessary for this circuit include:&lt;br /&gt;
&lt;br /&gt;
* An Arduino board (we will be using an Arduino Uno)&lt;br /&gt;
* A small breadboard&lt;br /&gt;
* A variety of jumper wires&lt;br /&gt;
* Four (4) LEDs of any color&lt;br /&gt;
* Five (5) 330 ohm resistors&lt;br /&gt;
* One breadboard-mounting potentiometer&lt;br /&gt;
&lt;br /&gt;
Using these parts, create the following circuit layout:&lt;br /&gt;
&lt;br /&gt;
[[File:SimpleArduinoConnection-0201.png]]&lt;br /&gt;
&lt;br /&gt;
(You can download the Fritzing file here: [[Media:SimpleArduinoConnection-02fzz.zip]])&lt;br /&gt;
&lt;br /&gt;
A few notes about this circuit:&lt;br /&gt;
&lt;br /&gt;
* You will be plugging the Arduino into the computer for serial communication with the computer (and Max). Most Arduino boards have a USB port that provides power to the device. We tap into that power for the simple circuit we've created.&lt;br /&gt;
* We use digital pins 2 - 5 for our LED display. You generally don't want to use pins 0 and 1, since they are used for serial communication.&lt;br /&gt;
* In order to prevent overtaxing the power supply of the Arduino, use use the 330 ohm resistors as [http://www.dummies.com/how-to/content/electronics-projects-how-to-limit-current-with-a-r.html &amp;quot;current limiting resistors&amp;quot;] - they reduce the amount of current drawn from the Arduino board, and prevent the LEDs from burning out.&lt;br /&gt;
&lt;br /&gt;
Now that we have our circuit ready, let's create an Arduino sketch that tests our board, and prepares it for communication with Max.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Previous: Introduction&amp;gt; [[SimpleArduinoConnection-p3|&amp;lt;Next: The Arduino sketch&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p2</id>
		<title>SimpleArduinoConnection-p2</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p2"/>
				<updated>2013-05-01T03:25:46Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Step 1: Create an Arduino-based Circuit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will begin our Arduino connection by creating a simple circuit. This circuit will use a small potentiometer for input, and four LEDs for visual output. The parts necessary for this circuit include:&lt;br /&gt;
&lt;br /&gt;
* An Arduino board (we will be using an Arduino Uno)&lt;br /&gt;
* A small breadboard&lt;br /&gt;
* A variety of jumper wires&lt;br /&gt;
* Four (4) LEDs of any color&lt;br /&gt;
* Five (5) 330 ohm resistors&lt;br /&gt;
* One breadboard-mounting potentiometer&lt;br /&gt;
&lt;br /&gt;
Using these parts, create the following circuit layout:&lt;br /&gt;
&lt;br /&gt;
[[File:SimpleArduinoConnection-0201.png]]&lt;br /&gt;
&lt;br /&gt;
(You can download the Fritzing file here: [[Media:SimpleArduinoConnection-02fzz.zip]])&lt;br /&gt;
&lt;br /&gt;
A few notes about this circuit:&lt;br /&gt;
&lt;br /&gt;
* You will be plugging the Arduino into the computer for serial communication with the computer (and Max). Most Arduino boards have a USB port that provides power to the device. We tap into that power for the simple circuit we've created.&lt;br /&gt;
* We use digital pins 2 - 5 for our LED display. You generally don't want to use pins 0 and 1, since they are used for serial communication.&lt;br /&gt;
* In order to prevent overtaxing the power supply of the Arduino, use use the 1K resistors as [http://www.dummies.com/how-to/content/electronics-projects-how-to-limit-current-with-a-r.html &amp;quot;current limiting resistors&amp;quot;] - they reduce the amount of current drawn from the Arduino board, and prevent the LEDs from burning out.&lt;br /&gt;
&lt;br /&gt;
Now that we have our circuit ready, let's create an Arduino sketch that tests our board, and prepares it for communication with Max.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Previous: Introduction&amp;gt; [[SimpleArduinoConnection-p3|&amp;lt;Next: The Arduino sketch&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p5</id>
		<title>SimpleArduinoConnection-p5</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p5"/>
				<updated>2013-05-01T03:25:06Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Creating a Useful (Sorta...) Patch ==&lt;br /&gt;
&lt;br /&gt;
With a few additions to our test patch, we can actually make something that shows an interesting connection between Max and the Arduino. In this case, we will use the data from the potentiometer to set the speed of a clock, and generate random output to strobe the lights. Ultra-simple, but hopefully it provides you with the means to do something more valuable for yourself.&lt;br /&gt;
&lt;br /&gt;
Here's the &amp;quot;Final&amp;quot; patch of this series. I've marked the new objects in different colors:&lt;br /&gt;
&lt;br /&gt;
[[File:SimpleSerialFinal.gif]]&lt;br /&gt;
&lt;br /&gt;
You can download this patch from here: [[Media:SimpleSerialConnection-2.maxpat]]&lt;br /&gt;
&lt;br /&gt;
== The Clock ==&lt;br /&gt;
&lt;br /&gt;
Let's first look at the blue objects. This section uses a {{maxword|name=metro}} object as a clock, a {{maxword|name=toggle}} as an on/off switch for the clock, and a {{maxword|name=scale}} object to handle the nasty math of the thing. The scale is most important: it takes the incoming range of values (0 through 127) and changes it to a decending - but larger - range of values (500 down to 50). We want to make it descending so that a smaller number creates a longer time between clock pulses.&lt;br /&gt;
&lt;br /&gt;
If we select the proper serial port in the menu, we should be able to see the number box (labeled ms per beat) change within the range of our scale object. Depending on the size of the resistor that you have connected to the potentiometer, you may not be able to get the full range. For example, with a 330 ohm resistor, I was getting the range of 0-123 as input from the Arduino.&lt;br /&gt;
&lt;br /&gt;
== The Random Blinkie Lights ==&lt;br /&gt;
&lt;br /&gt;
To get a set of blinkie lights going, we will look at the objects outlined in green. The first object is a {{maxword|name=random}} object with an argument of 4. Since the argument represents the range of values, and random values start with zero, it means that our output will be from 0 to 3. Next, we use a {{maxword|name=select}} object to determine which value (0, 1, 2 or 3) was output by random, and use that to switch the state of the toggle switches we created earlier.&lt;br /&gt;
&lt;br /&gt;
If we connect the metro/clock to the random object, we will send digital pin controls that turn on and off randomly, and whose speed is controlled by the potentiometer.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
Hopefully, this patch reveals how easy it is to connect your Arduino to a Max patch, and how two-way communication is an easy way to turn the focus from the computer screen to hardware. From here, you should be able to extend and enhance both the Arduino sketch as well as the Max patch to make something that is unique to your vision - and a whole lot more artistic than this!&lt;br /&gt;
&lt;br /&gt;
[[SimpleArduinoConnection-p4|&amp;lt;Previous: Create a Test Max Patch&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p4</id>
		<title>SimpleArduinoConnection-p4</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p4"/>
				<updated>2013-05-01T03:24:12Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Create a Test Max Patch ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''NOTE: ''Before you start working on the Max patch, you have to exit out of the Arduino application. Since both the Arduino app and Max will try to control the serial port, they will be in contention if you try running both at the same time.'''''&lt;br /&gt;
&lt;br /&gt;
Now let's make a test program to verify that our sketch - and our hardware setup - are all working correctly. We'll do it step-by-step so that each part is clear.&lt;br /&gt;
&lt;br /&gt;
First, we need to create a serial port connection to the Arduino, and build the surrounding application pieces necessary to select a port and to report information from the port:&lt;br /&gt;
&lt;br /&gt;
[[File:SimpleSerialConnection-0301.gif]]&lt;br /&gt;
&lt;br /&gt;
A few things to note here:&lt;br /&gt;
&lt;br /&gt;
* The setup of the menu (which contains all of the available serial ports) occurs when the patch is loaded (that's the loadmess object).&lt;br /&gt;
* A qmetro is used to start firing off '''bang''' messages, which serve as a polling system for incoming serial bytes.&lt;br /&gt;
* The {maxword|name=serial} object needs to be initialized with the same baud rate that we used in the sketch - 57600 in this case.&lt;br /&gt;
* When working with the Arduino, you never know what the serial port name is going to be - or where it is going to show up in a list of ports. That's why you have to use a menu for port selection.&lt;br /&gt;
* A special {maxword|name=receive} object (called to-serial) is created for us to use in the next step.&lt;br /&gt;
&lt;br /&gt;
Next, we need to put in the pieces that send data to the Arduino and receive values back from the Arduino. Here are those additions, highlighted in red:&lt;br /&gt;
&lt;br /&gt;
[[File:SimpleSerialConnection-0302.gif]]&lt;br /&gt;
&lt;br /&gt;
You can download this test file (sans the garish red outlines) from here: [[Media:SimpleSerialConnection.maxpat]]&lt;br /&gt;
&lt;br /&gt;
If the connection to the Arduino is set up correctly, and our connection sketch is loaded, you should be able to click on each of the &amp;quot;pin&amp;quot; checkboxes to turn the corresponding LEDs on and off. Also, if you turn the potentiometer wired into the Arduino, you should see the value (in a range from 0 to 127) appear in the number box below the {maxword|name=serial} object. We have communication!&lt;br /&gt;
&lt;br /&gt;
Now, let's use this setup to create a simple &amp;quot;light sequencer&amp;quot; to show a more interesting use of this setup.&lt;br /&gt;
&lt;br /&gt;
[[SimpleArduinoConnection-p3|&amp;lt;Previous: Creating an Arduino sketch&amp;gt;]] [[SimpleArduinoConnection-p5|&amp;lt;Next: Create a more interesting Max patch&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p4</id>
		<title>SimpleArduinoConnection-p4</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p4"/>
				<updated>2013-05-01T03:23:51Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Create a Test Max Patch ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''NOTE: ''Before you start working on the Max patch, you have to exit out of the Arduino application. Since both the Arduino app and Max will try to control the serial port, they will be in contention if you try running both at the same time.'''''&lt;br /&gt;
&lt;br /&gt;
Now let's make a test program to verify that our sketch - and our hardware setup - are all working correctly. We'll do it step-by-step so that each part is clear.&lt;br /&gt;
&lt;br /&gt;
First, we need to create a serial port connection to the Arduino, and build the surrounding application pieces necessary to select a port and to report information from the port:&lt;br /&gt;
&lt;br /&gt;
[[File:SimpleSerialConnection-0301.gif]]&lt;br /&gt;
&lt;br /&gt;
A few things to note here:&lt;br /&gt;
&lt;br /&gt;
* The setup of the menu (which contains all of the available serial ports) occurs when the patch is loaded (that's the loadmess object).&lt;br /&gt;
* A qmetro is used to start firing off '''bang''' messages, which serve as a polling system for incoming serial bytes.&lt;br /&gt;
* The {maxword|name=serial} object needs to be initialized with the same baud rate that we used in the sketch - 57600 in this case.&lt;br /&gt;
* When working with the Arduino, you never know what the serial port name is going to be - or where it is going to show up in a list of ports. That's why you have to use a menu for port selection.&lt;br /&gt;
* A special {maxword|name=receive} object (called to-serial) is created for us to use in the next step.&lt;br /&gt;
&lt;br /&gt;
Next, we need to put in the pieces that send data to the Arduino and receive values back from the Arduino. Here are those additions, highlighted in red:&lt;br /&gt;
&lt;br /&gt;
[[File:SimpleSerialConnection-0302.gif]]&lt;br /&gt;
&lt;br /&gt;
You can download this test file (sans the garish red outlines) from here: [[Media:SimpleSerialConnection.maxpat]]&lt;br /&gt;
&lt;br /&gt;
If the connection to the Arduino is set up correctly, and our connection sketch is loaded, you should be able to click on each of the &amp;quot;pin&amp;quot; checkboxes to turn the corresponding LEDs on and off. Also, if you turn the potentiometer wired into the Arduino, you should see the value (in a range from 0 to 127) appear in the number box below the {maxword|name=serial} object. We have communication!&lt;br /&gt;
&lt;br /&gt;
Now, let's use this setup to create a simple &amp;quot;light sequencer&amp;quot; to show a more interesting use of this setup.&lt;br /&gt;
&lt;br /&gt;
[[SimpleArduinoConnection-p3|&amp;lt;Previous: Creating an Arduino sketch&amp;gt;]] [[SimpleArduinoConnection-p5 &amp;lt;Next: Create a more interesting Max patch&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p5</id>
		<title>SimpleArduinoConnection-p5</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p5"/>
				<updated>2013-05-01T03:22:20Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Creating a Useful (Sorta...) Patch ==&lt;br /&gt;
&lt;br /&gt;
With a few additions to our test patch, we can actually make something that shows an interesting connection between Max and the Arduino. In this case, we will use the data from the potentiometer to set the speed of a clock, and generate random output to strobe the lights. Ultra-simple, but hopefully it provides you with the means to do something more valuable for yourself.&lt;br /&gt;
&lt;br /&gt;
Here's the &amp;quot;Final&amp;quot; patch of this series. I've marked the new objects in different colors:&lt;br /&gt;
&lt;br /&gt;
[[File:SimpleSerialFinal.gif]]&lt;br /&gt;
&lt;br /&gt;
You can download this patch from here: [[Media:SimpleSerialConnection-2.maxpat]]&lt;br /&gt;
&lt;br /&gt;
== The Clock ==&lt;br /&gt;
&lt;br /&gt;
Let's first look at the blue objects. This section uses a {{maxword|name=metro}} object as a clock, a {{maxword|name=toggle}} as an on/off switch for the clock, and a {{maxword|name=scale}} object to handle the nasty math of the thing. The scale is most important: it takes the incoming range of values (0 through 127) and changes it to a decending - but larger - range of values (500 down to 50). We want to make it descending so that a smaller number creates a longer time between clock pulses.&lt;br /&gt;
&lt;br /&gt;
If we select the proper serial port in the menu, we should be able to see the number box (labeled ms per beat) change within the range of our scale object. Depending on the size of the resistor that you have connected to the potentiometer, you may not be able to get the full range. For example, with a 330 ohm resistor, I was getting the range of 0-123 as input from the Arduino.&lt;br /&gt;
&lt;br /&gt;
== The Random Blinkie Lights ==&lt;br /&gt;
&lt;br /&gt;
To get a set of blinkie lights going, we will look at the objects outlined in green. The first object is a {{maxword|name=random}} object with an argument of 4. Since the argument represents the range of values, and random values start with zero, it means that our output will be from 0 to 3. Next, we use a {{maxword|name=select}} object to determine which value (0, 1, 2 or 3) was output by random, and use that to switch the state of the toggle switches we created earlier.&lt;br /&gt;
&lt;br /&gt;
If we connect the metro/clock to the random object, we will send digital pin controls that turn on and off randomly, and whose speed is controlled by the potentiometer.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
Hopefully, this patch reveals how easy it is to connect your Arduino to a Max patch, and how two-way communication is an easy way to turn the focus from the computer screen to hardware. From here, you should be able to extend and enhance both the Arduino sketch as well as the Max patch to make something that is unique to your vision - and a whole lot more artistic than this!&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=File:SimpleSerialConnection-2.maxpat</id>
		<title>File:SimpleSerialConnection-2.maxpat</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=File:SimpleSerialConnection-2.maxpat"/>
				<updated>2013-05-01T03:21:48Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p5</id>
		<title>SimpleArduinoConnection-p5</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p5"/>
				<updated>2013-05-01T03:20:03Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: Created page with &amp;quot;== Creating a Useful (Sorta...) Patch ==  With a few additions to our test patch, we can actually make something that shows an interesting connection between Max and the Ardui...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Creating a Useful (Sorta...) Patch ==&lt;br /&gt;
&lt;br /&gt;
With a few additions to our test patch, we can actually make something that shows an interesting connection between Max and the Arduino. In this case, we will use the data from the potentiometer to set the speed of a clock, and generate random output to strobe the lights. Ultra-simple, but hopefully it provides you with the means to do something more valuable for yourself.&lt;br /&gt;
&lt;br /&gt;
Here's the &amp;quot;Final&amp;quot; patch of this series. I've marked the new objects in different colors:&lt;br /&gt;
&lt;br /&gt;
[[File:SimpleSerialFinal.gif]]&lt;br /&gt;
&lt;br /&gt;
== The Clock ==&lt;br /&gt;
&lt;br /&gt;
Let's first look at the blue objects. This section uses a {{maxword|name=metro}} object as a clock, a {{maxword|name=toggle}} as an on/off switch for the clock, and a {{maxword|name=scale}} object to handle the nasty math of the thing. The scale is most important: it takes the incoming range of values (0 through 127) and changes it to a decending - but larger - range of values (500 down to 50). We want to make it descending so that a smaller number creates a longer time between clock pulses.&lt;br /&gt;
&lt;br /&gt;
If we select the proper serial port in the menu, we should be able to see the number box (labeled ms per beat) change within the range of our scale object. Depending on the size of the resistor that you have connected to the potentiometer, you may not be able to get the full range. For example, with a 330 ohm resistor, I was getting the range of 0-123 as input from the Arduino.&lt;br /&gt;
&lt;br /&gt;
== The Random Blinkie Lights ==&lt;br /&gt;
&lt;br /&gt;
To get a set of blinkie lights going, we will look at the objects outlined in green. The first object is a {{maxword|name=random}} object with an argument of 4. Since the argument represents the range of values, and random values start with zero, it means that our output will be from 0 to 3. Next, we use a {{maxword|name=select}} object to determine which value (0, 1, 2 or 3) was output by random, and use that to switch the state of the toggle switches we created earlier.&lt;br /&gt;
&lt;br /&gt;
If we connect the metro/clock to the random object, we will send digital pin controls that turn on and off randomly, and whose speed is controlled by the potentiometer.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
Hopefully, this patch reveals how easy it is to connect your Arduino to a Max patch, and how two-way communication is an easy way to turn the focus from the computer screen to hardware. From here, you should be able to extend and enhance both the Arduino sketch as well as the Max patch to make something that is unique to your vision - and a whole lot more artistic than this!&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=File:SimpleSerialFinal.gif</id>
		<title>File:SimpleSerialFinal.gif</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=File:SimpleSerialFinal.gif"/>
				<updated>2013-05-01T03:06:50Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p3</id>
		<title>SimpleArduinoConnection-p3</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p3"/>
				<updated>2013-04-28T06:18:35Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Create the Arduino Sketch ==&lt;br /&gt;
&lt;br /&gt;
Arduino programs are called sketches, and represent a Javascript-like language for developing on that platform. In order to make our Max-to-Arduino connection work, we need to make a new sketch, and load it onto the Arduino device. The sketch we will use is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Simple Max-Connection Sketch&lt;br /&gt;
//&lt;br /&gt;
// by Darwin Grosse for Cycling '74&lt;br /&gt;
//&lt;br /&gt;
// Note: This sketch uses simple coding - rather than efficient coding. No attempt is made to be clever - rather,&lt;br /&gt;
// the goal is to make a sketch that will be easy for people to modify regardless of experience level.&lt;br /&gt;
//&lt;br /&gt;
// --------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
// variable setup&lt;br /&gt;
byte incoming;          // this is where we will store incoming serial data&lt;br /&gt;
byte last_analog = -1;  // we start with a negative number so that the first reading will give us a new value!&lt;br /&gt;
&lt;br /&gt;
// the setup part of the sketch&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  // we need to set up the serial port for communication with the computer&lt;br /&gt;
  Serial.begin(57600);&lt;br /&gt;
  &lt;br /&gt;
  // we need to set up the four digital pins for output. We will also flash the lights to show we have&lt;br /&gt;
  // a good program. &lt;br /&gt;
  for (int i=2; i&amp;lt;=5; i++) {    // scan through pins 2-5&lt;br /&gt;
    pinMode(i, OUTPUT);         // set the pin for OUTPUT&lt;br /&gt;
    digitalWrite(i, HIGH);      // turn the pin ON&lt;br /&gt;
    delay(500);                 // wait a half-second&lt;br /&gt;
    digitalWrite(i, LOW);       // turn the pin OFF&lt;br /&gt;
    delay(500);                 // wait another half-second&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
}  // end of setup&lt;br /&gt;
&lt;br /&gt;
// the loop part of the sketch&lt;br /&gt;
void loop() {&lt;br /&gt;
  &lt;br /&gt;
  // This is where we take data coming from the computer and use it to turn on the LEDs&lt;br /&gt;
  // ----------------------------------------------------------------------------------&lt;br /&gt;
  if (Serial.available() &amp;gt; 0) {  // if we have incoming data from the computer...&lt;br /&gt;
    incoming = Serial.read();    // get one byte from the serial port&lt;br /&gt;
    &lt;br /&gt;
    switch (incoming) {&lt;br /&gt;
      case 0:                    // if the byte is 0&lt;br /&gt;
        digitalWrite(2, LOW);    // turn off pin 2&lt;br /&gt;
        break;&lt;br /&gt;
      case 1:                    // if the byte is 1&lt;br /&gt;
        digitalWrite(2, HIGH);   // turn on pin 2&lt;br /&gt;
        break;&lt;br /&gt;
      case 2:                    // if the byte is 2&lt;br /&gt;
        digitalWrite(3, LOW);    // turn off pin 3&lt;br /&gt;
        break;&lt;br /&gt;
      case 3:                    // if the byte is 3&lt;br /&gt;
        digitalWrite(3, HIGH);   // turn on pin 3&lt;br /&gt;
        break;&lt;br /&gt;
      case 4:                    // if the byte is 4&lt;br /&gt;
        digitalWrite(4, LOW);    // turn off pin 4&lt;br /&gt;
        break;&lt;br /&gt;
      case 5:                    // if the byte is 5&lt;br /&gt;
        digitalWrite(4, HIGH);   // turn on pin 4&lt;br /&gt;
        break;&lt;br /&gt;
      case 6:                    // if the byte is 6&lt;br /&gt;
        digitalWrite(5, LOW);    // turn off pin 5&lt;br /&gt;
        break;&lt;br /&gt;
      case 7:                    // if the byte is 7&lt;br /&gt;
        digitalWrite(5, HIGH);   // turn on pin 5&lt;br /&gt;
        break;&lt;br /&gt;
    }&lt;br /&gt;
  }  // end of if for Serial.available()&lt;br /&gt;
  &lt;br /&gt;
  // This is where is check the current value of the potentiometer, and send the value if it has changed.&lt;br /&gt;
  // ----------------------------------------------------------------------------------------------------&lt;br /&gt;
  incoming = analogRead(0) &amp;gt;&amp;gt; 3;  // get the current value of the control&lt;br /&gt;
                                  // strip the 3 lowest bits - to prevent jitter, and to put the value&lt;br /&gt;
                                  // in the typical MIDI range of 0 - 127&lt;br /&gt;
  &lt;br /&gt;
  if (incoming != last_analog) { // make sure it has changed...&lt;br /&gt;
    Serial.write(incoming);      // send the byte to the computer&lt;br /&gt;
    last_analog = incoming;      // save the new data&lt;br /&gt;
  }  // end of if values have changed&lt;br /&gt;
} // end of loop()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can download the sketch here: [[Media:SimpleMaxSketch.ino.zip]]&lt;br /&gt;
&lt;br /&gt;
A few things to notice. First, we are using the following data to turn on and off the LEDs:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! pin&lt;br /&gt;
! value for off&lt;br /&gt;
! value for on&lt;br /&gt;
|-&lt;br /&gt;
| pin 2&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
|-&lt;br /&gt;
| pin 3&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
|-&lt;br /&gt;
| pin 4&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 4&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 5&lt;br /&gt;
|-&lt;br /&gt;
| pin 5&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 6&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is a pretty easy protocol to follow, and will be easy to implement in Max code. Conversely, in order to make the data coming into Max easy to use, we change the analog read value to be in the range of 0-127. This way, it &amp;quot;looks&amp;quot; like MIDI data, and will fit in easily within our patching environment.&lt;br /&gt;
&lt;br /&gt;
In order to use the sketch, you will have to use the Arduino application to compile and load it onto your device. The code stays &amp;quot;on&amp;quot; the board until you load another sketch, so once it is in place, you can close down the Arduino software.&lt;br /&gt;
&lt;br /&gt;
Now the Arduino is all set up, and it's time to dive into making a Max patch.&lt;br /&gt;
&lt;br /&gt;
[[SimpleArduinoConnection-p2|&amp;lt;Previous: Creating a Circuit&amp;gt;]] [[SimpleArduinoConnection-p4|&amp;lt;Next: Create a Max Patch&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p4</id>
		<title>SimpleArduinoConnection-p4</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p4"/>
				<updated>2013-04-28T06:17:40Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Create a Test Max Patch ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''NOTE: ''Before you start working on the Max patch, you have to exit out of the Arduino application. Since both the Arduino app and Max will try to control the serial port, they will be in contention if you try running both at the same time.'''''&lt;br /&gt;
&lt;br /&gt;
Now let's make a test program to verify that our sketch - and our hardware setup - are all working correctly. We'll do it step-by-step so that each part is clear.&lt;br /&gt;
&lt;br /&gt;
First, we need to create a serial port connection to the Arduino, and build the surrounding application pieces necessary to select a port and to report information from the port:&lt;br /&gt;
&lt;br /&gt;
[[File:SimpleSerialConnection-0301.gif]]&lt;br /&gt;
&lt;br /&gt;
A few things to note here:&lt;br /&gt;
&lt;br /&gt;
* The setup of the menu (which contains all of the available serial ports) occurs when the patch is loaded (that's the loadmess object).&lt;br /&gt;
* A qmetro is used to start firing off '''bang''' messages, which serve as a polling system for incoming serial bytes.&lt;br /&gt;
* The {maxword|name=serial} object needs to be initialized with the same baud rate that we used in the sketch - 57600 in this case.&lt;br /&gt;
* When working with the Arduino, you never know what the serial port name is going to be - or where it is going to show up in a list of ports. That's why you have to use a menu for port selection.&lt;br /&gt;
* A special {maxword|name=receive} object (called to-serial) is created for us to use in the next step.&lt;br /&gt;
&lt;br /&gt;
Next, we need to put in the pieces that send data to the Arduino and receive values back from the Arduino. Here are those additions, highlighted in red:&lt;br /&gt;
&lt;br /&gt;
[[File:SimpleSerialConnection-0302.gif]]&lt;br /&gt;
&lt;br /&gt;
You can download this test file (sans the garish red outlines) from here: [[Media:SimpleSerialConnection.maxpat]]&lt;br /&gt;
&lt;br /&gt;
If the connection to the Arduino is set up correctly, and our connection sketch is loaded, you should be able to click on each of the &amp;quot;pin&amp;quot; checkboxes to turn the corresponding LEDs on and off. Also, if you turn the potentiometer wired into the Arduino, you should see the value (in a range from 0 to 127) appear in the number box below the {maxword|name=serial} object. We have communication!&lt;br /&gt;
&lt;br /&gt;
Now, let's use this setup to create a simple &amp;quot;light sequencer&amp;quot; to show a more interesting use of this setup.&lt;br /&gt;
&lt;br /&gt;
[[SimpleArduinoConnection-p3|&amp;lt;Previous: Creating an Arduino sketch&amp;gt;]] &amp;lt;Next: Create a more interesting Max patch&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p4</id>
		<title>SimpleArduinoConnection-p4</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p4"/>
				<updated>2013-04-28T06:16:59Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: Created page with &amp;quot;'''NOTE: ''Before you start working on the Max patch, you have to exit out of the Arduino application. Since both the Arduino app and Max will try to control the serial port, ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''NOTE: ''Before you start working on the Max patch, you have to exit out of the Arduino application. Since both the Arduino app and Max will try to control the serial port, they will be in contention if you try running both at the same time.'''''&lt;br /&gt;
&lt;br /&gt;
Now let's make a test program to verify that our sketch - and our hardware setup - are all working correctly. We'll do it step-by-step so that each part is clear.&lt;br /&gt;
&lt;br /&gt;
First, we need to create a serial port connection to the Arduino, and build the surrounding application pieces necessary to select a port and to report information from the port:&lt;br /&gt;
&lt;br /&gt;
[[File:SimpleSerialConnection-0301.gif]]&lt;br /&gt;
&lt;br /&gt;
A few things to note here:&lt;br /&gt;
&lt;br /&gt;
* The setup of the menu (which contains all of the available serial ports) occurs when the patch is loaded (that's the loadmess object).&lt;br /&gt;
* A qmetro is used to start firing off '''bang''' messages, which serve as a polling system for incoming serial bytes.&lt;br /&gt;
* The {maxword|name=serial} object needs to be initialized with the same baud rate that we used in the sketch - 57600 in this case.&lt;br /&gt;
* When working with the Arduino, you never know what the serial port name is going to be - or where it is going to show up in a list of ports. That's why you have to use a menu for port selection.&lt;br /&gt;
* A special {maxword|name=receive} object (called to-serial) is created for us to use in the next step.&lt;br /&gt;
&lt;br /&gt;
Next, we need to put in the pieces that send data to the Arduino and receive values back from the Arduino. Here are those additions, highlighted in red:&lt;br /&gt;
&lt;br /&gt;
[[File:SimpleSerialConnection-0302.gif]]&lt;br /&gt;
&lt;br /&gt;
You can download this test file (sans the garish red outlines) from here: [[Media:SimpleSerialConnection.maxpat]]&lt;br /&gt;
&lt;br /&gt;
If the connection to the Arduino is set up correctly, and our connection sketch is loaded, you should be able to click on each of the &amp;quot;pin&amp;quot; checkboxes to turn the corresponding LEDs on and off. Also, if you turn the potentiometer wired into the Arduino, you should see the value (in a range from 0 to 127) appear in the number box below the {maxword|name=serial} object. We have communication!&lt;br /&gt;
&lt;br /&gt;
Now, let's use this setup to create a simple &amp;quot;light sequencer&amp;quot; to show a more interesting use of this setup.&lt;br /&gt;
&lt;br /&gt;
[[SimpleArduinoConnection-p3|&amp;lt;Previous: Creating an Arduino sketch&amp;gt;]] &amp;lt;Next: Create a more interesting Max patch&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=File:SimpleSerialConnection.maxpat</id>
		<title>File:SimpleSerialConnection.maxpat</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=File:SimpleSerialConnection.maxpat"/>
				<updated>2013-04-28T06:10:08Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=File:SimpleSerialConnection-0302.gif</id>
		<title>File:SimpleSerialConnection-0302.gif</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=File:SimpleSerialConnection-0302.gif"/>
				<updated>2013-04-28T06:04:23Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=File:SimpleSerialConnection-0301.gif</id>
		<title>File:SimpleSerialConnection-0301.gif</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=File:SimpleSerialConnection-0301.gif"/>
				<updated>2013-04-28T05:53:04Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p3</id>
		<title>SimpleArduinoConnection-p3</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=SimpleArduinoConnection-p3"/>
				<updated>2013-04-25T14:16:25Z</updated>
		
		<summary type="html">&lt;p&gt;Ddg@cycling74.com: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Create the Arduino Sketch ==&lt;br /&gt;
&lt;br /&gt;
Arduino programs are called sketches, and represent a Javascript-like language for developing on that platform. In order to make our Max-to-Arduino connection work, we need to make a new sketch, and load it onto the Arduino device. The sketch we will use is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Simple Max-Connection Sketch&lt;br /&gt;
//&lt;br /&gt;
// by Darwin Grosse for Cycling '74&lt;br /&gt;
//&lt;br /&gt;
// Note: This sketch uses simple coding - rather than efficient coding. No attempt is made to be clever - rather,&lt;br /&gt;
// the goal is to make a sketch that will be easy for people to modify regardless of experience level.&lt;br /&gt;
//&lt;br /&gt;
// --------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
// variable setup&lt;br /&gt;
byte incoming;          // this is where we will store incoming serial data&lt;br /&gt;
byte last_analog = -1;  // we start with a negative number so that the first reading will give us a new value!&lt;br /&gt;
&lt;br /&gt;
// the setup part of the sketch&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  // we need to set up the serial port for communication with the computer&lt;br /&gt;
  Serial.begin(57600);&lt;br /&gt;
  &lt;br /&gt;
  // we need to set up the four digital pins for output. We will also flash the lights to show we have&lt;br /&gt;
  // a good program. &lt;br /&gt;
  for (int i=2; i&amp;lt;=5; i++) {    // scan through pins 2-5&lt;br /&gt;
    pinMode(i, OUTPUT);         // set the pin for OUTPUT&lt;br /&gt;
    digitalWrite(i, HIGH);      // turn the pin ON&lt;br /&gt;
    delay(500);                 // wait a half-second&lt;br /&gt;
    digitalWrite(i, LOW);       // turn the pin OFF&lt;br /&gt;
    delay(500);                 // wait another half-second&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
}  // end of setup&lt;br /&gt;
&lt;br /&gt;
// the loop part of the sketch&lt;br /&gt;
void loop() {&lt;br /&gt;
  &lt;br /&gt;
  // This is where we take data coming from the computer and use it to turn on the LEDs&lt;br /&gt;
  // ----------------------------------------------------------------------------------&lt;br /&gt;
  if (Serial.available() &amp;gt; 0) {  // if we have incoming data from the computer...&lt;br /&gt;
    incoming = Serial.read();    // get one byte from the serial port&lt;br /&gt;
    &lt;br /&gt;
    switch (incoming) {&lt;br /&gt;
      case 0:                    // if the byte is 0&lt;br /&gt;
        digitalWrite(2, LOW);    // turn off pin 2&lt;br /&gt;
        break;&lt;br /&gt;
      case 1:                    // if the byte is 1&lt;br /&gt;
        digitalWrite(2, HIGH);   // turn on pin 2&lt;br /&gt;
        break;&lt;br /&gt;
      case 2:                    // if the byte is 2&lt;br /&gt;
        digitalWrite(3, LOW);    // turn off pin 3&lt;br /&gt;
        break;&lt;br /&gt;
      case 3:                    // if the byte is 3&lt;br /&gt;
        digitalWrite(3, HIGH);   // turn on pin 3&lt;br /&gt;
        break;&lt;br /&gt;
      case 4:                    // if the byte is 4&lt;br /&gt;
        digitalWrite(4, LOW);    // turn off pin 4&lt;br /&gt;
        break;&lt;br /&gt;
      case 5:                    // if the byte is 5&lt;br /&gt;
        digitalWrite(4, HIGH);   // turn on pin 4&lt;br /&gt;
        break;&lt;br /&gt;
      case 6:                    // if the byte is 6&lt;br /&gt;
        digitalWrite(5, LOW);    // turn off pin 5&lt;br /&gt;
        break;&lt;br /&gt;
      case 7:                    // if the byte is 7&lt;br /&gt;
        digitalWrite(5, HIGH);   // turn on pin 5&lt;br /&gt;
        break;&lt;br /&gt;
    }&lt;br /&gt;
  }  // end of if for Serial.available()&lt;br /&gt;
  &lt;br /&gt;
  // This is where is check the current value of the potentiometer, and send the value if it has changed.&lt;br /&gt;
  // ----------------------------------------------------------------------------------------------------&lt;br /&gt;
  incoming = analogRead(0) &amp;gt;&amp;gt; 3;  // get the current value of the control&lt;br /&gt;
                                  // strip the 3 lowest bits - to prevent jitter, and to put the value&lt;br /&gt;
                                  // in the typical MIDI range of 0 - 127&lt;br /&gt;
  &lt;br /&gt;
  if (incoming != last_analog) { // make sure it has changed...&lt;br /&gt;
    Serial.write(incoming);      // send the byte to the computer&lt;br /&gt;
    last_analog = incoming;      // save the new data&lt;br /&gt;
  }  // end of if values have changed&lt;br /&gt;
} // end of loop()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can download the sketch here: [[Media:SimpleMaxSketch.ino.zip]]&lt;br /&gt;
&lt;br /&gt;
A few things to notice. First, we are using the following data to turn on and off the LEDs:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! pin&lt;br /&gt;
! value for off&lt;br /&gt;
! value for on&lt;br /&gt;
|-&lt;br /&gt;
| pin 2&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
|-&lt;br /&gt;
| pin 3&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
|-&lt;br /&gt;
| pin 4&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 4&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 5&lt;br /&gt;
|-&lt;br /&gt;
| pin 5&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 6&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is a pretty easy protocol to follow, and will be easy to implement in Max code. Conversely, in order to make the data coming into Max easy to use, we change the analog read value to be in the range of 0-127. This way, it &amp;quot;looks&amp;quot; like MIDI data, and will fit in easily within our patching environment.&lt;br /&gt;
&lt;br /&gt;
In order to use the sketch, you will have to use the Arduino application to compile and load it onto your device. The code stays &amp;quot;on&amp;quot; the board until you load another sketch, so once it is in place, you can close down the Arduino software.&lt;br /&gt;
&lt;br /&gt;
Now the Arduino is all set up, and it's time to dive into making a Max patch.&lt;br /&gt;
&lt;br /&gt;
[[SimpleArduinoConnection-p2|&amp;lt;Previous: Creating a Circuit&amp;gt;]] &amp;lt;Next: Create a Max Patch&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ddg@cycling74.com</name></author>	</entry>

	</feed>