{"id":18401,"date":"2015-03-04T11:50:13","date_gmt":"2015-03-04T16:50:13","guid":{"rendered":"https:\/\/reactivemusic.net\/?p=18401"},"modified":"2015-03-04T12:46:43","modified_gmt":"2015-03-04T17:46:43","slug":"live-object-model-examples-in-m4l","status":"publish","type":"post","link":"https:\/\/reactivemusic.net\/?p=18401","title":{"rendered":"The Live Object Model in Max for Live"},"content":{"rendered":"<p class=\"lead\">Introduction to getting, setting, and observing Live parameters with Max for Live.<\/p>\n<p><a href=\"https:\/\/github.com\/tkzic\/max-for-live-projects\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-18402\" src=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-11.48.03-AM-300x87.png\" alt=\"Screen Shot 2015-03-04 at 11.48.03 AM\" width=\"300\" height=\"87\" srcset=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-11.48.03-AM-300x87.png 300w, https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-11.48.03-AM-1024x299.png 1024w, https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-11.48.03-AM-1000x288.png 1000w, https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-11.48.03-AM.png 1346w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<h4>download<\/h4>\n<p><a href=\"https:\/\/github.com\/tkzic\/max-for-live-projects\">https:\/\/github.com\/tkzic\/max-for-live-projects<\/a><\/p>\n<p>folder: lom<\/p>\n<p>patch:\u00a0aaa-lom-examples<\/p>\n<h4>tutorial<\/h4>\n<p>This example device shows several ways of working with Ableton Live parameters in a M4L patch. It can be a confusing process. And there are many different ways to accomplish the same result.<\/p>\n<p>The examples here will use the LOM (Live Object Model) directly, and via builtin LiveAPI abstractions and choosers &#8211; available from the context menu that appears when you &lt;ctrl&gt; click inside of an open patcher window.<\/p>\n<h5>live.observer<\/h5>\n<p><a href=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-11.57.45-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-18405\" src=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-11.57.45-AM-230x300.png\" alt=\"Screen Shot 2015-03-04 at 11.57.45 AM\" width=\"230\" height=\"300\" srcset=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-11.57.45-AM-230x300.png 230w, https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-11.57.45-AM.png 488w\" sizes=\"auto, (max-width: 230px) 100vw, 230px\" \/><\/a><\/p>\n<p>The snippet above shows how to continuously monitor Live&#8217;s tempo.<\/p>\n<ul>\n<li>live.this.device sends out a bang when the device loads<\/li>\n<li>the &#8220;path live_set&#8221; message tells live.path to get an id number for the current set. This id is sent to the right inlet of live.observer, telling it we want to observe the current Live set<\/li>\n<li>the &#8220;property tempo&#8221; message asks live.observer for the current tempo value<\/li>\n<li>If the tempo changes it will be automatically updated<\/li>\n<\/ul>\n<h5>live.object (set)<\/h5>\n<p><a href=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-12.09.49-PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-18408\" src=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-12.09.49-PM-300x111.png\" alt=\"Screen Shot 2015-03-04 at 12.09.49 PM\" width=\"300\" height=\"111\" srcset=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-12.09.49-PM-300x111.png 300w, https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-12.09.49-PM.png 814w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>The snippet above shows how to set Live&#8217;s tempo.<\/p>\n<ul>\n<li>Get the Live set path id using the same method as shown for live.observer<\/li>\n<li>the &#8220;set tempo&#8221; message sends a tempo value to live.object<\/li>\n<\/ul>\n<h5>live.object (get)<\/h5>\n<p><a href=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-12.15.57-PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-18409\" src=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-12.15.57-PM-182x300.png\" alt=\"Screen Shot 2015-03-04 at 12.15.57 PM\" width=\"182\" height=\"300\" srcset=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-12.15.57-PM-182x300.png 182w, https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-12.15.57-PM.png 386w\" sizes=\"auto, (max-width: 182px) 100vw, 182px\" \/><\/a><\/p>\n<p>The snippet above shows how to get Live&#8217;s tempo.<\/p>\n<ul>\n<li>Get the Live set path id using the same method as shown for live.observer<\/li>\n<li>the &#8220;get tempo&#8221; message requests the current tempo value from live.object<\/li>\n<\/ul>\n<h5>live.object (call)<\/h5>\n<p><a href=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-12.23.11-PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-18412\" src=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-12.23.11-PM-225x300.png\" alt=\"Screen Shot 2015-03-04 at 12.23.11 PM\" width=\"225\" height=\"300\" srcset=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-12.23.11-PM-225x300.png 225w, https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-12.23.11-PM.png 472w\" sizes=\"auto, (max-width: 225px) 100vw, 225px\" \/><\/a><\/p>\n<p>The snippet above shows how to start or stop the Live transport by calling functions.<\/p>\n<ul>\n<li>Get the Live set path id using the same method as shown for live.observer<\/li>\n<li>the &#8220;call start_playing&#8221; message tells live.object to start the Live transport. &#8220;start_playing&#8221; is the name of a function builtin to the Live set.<\/li>\n<\/ul>\n<h5>LiveAPI abstractions<\/h5>\n<p>The LiveAPI abstractions provide convenient shortcuts to working with Live parameters. Copy them into your patch by &lt;ctrl&gt; clicking inside an open (unlocked) patcher window &#8211; and selecting &#8220;Paste from -&gt; LiveAPI abstractions&#8221;<\/p>\n<p><a href=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-12.30.25-PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-18413\" src=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-12.30.25-PM-300x187.png\" alt=\"Screen Shot 2015-03-04 at 12.30.25 PM\" width=\"300\" height=\"187\" srcset=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-12.30.25-PM-300x187.png 300w, https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-12.30.25-PM-1024x640.png 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<h6>Observing the Live transport<\/h6>\n<p><a href=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-12.31.49-PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-18414\" src=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-12.31.49-PM-300x145.png\" alt=\"Screen Shot 2015-03-04 at 12.31.49 PM\" width=\"300\" height=\"145\" srcset=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-12.31.49-PM-300x145.png 300w, https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-12.31.49-PM.png 392w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>The snippet above shows how to monitor whether the Live transport is running<\/p>\n<ul>\n<li>paste the abstraction into your patch as explained above<\/li>\n<\/ul>\n<h6>Selecting the master track<\/h6>\n<p><a href=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-12.34.07-PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-18415\" src=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-12.34.07-PM-300x200.png\" alt=\"Screen Shot 2015-03-04 at 12.34.07 PM\" width=\"300\" height=\"200\" srcset=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-12.34.07-PM-300x200.png 300w, https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-12.34.07-PM.png 380w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>The snippet above shows how to\u00a0select the Master track<\/p>\n<ul>\n<li>paste the abstraction into your patch as explained above<\/li>\n<\/ul>\n<h5>LiveAPI choosers<\/h5>\n<p>The LiveAPI choosers provide convenient shortcuts to selecting Live parameters from menu objects. Copy them into your patch by &lt;ctrl&gt; clicking inside an open (unlocked) patcher window &#8211; and selecting &#8220;Paste from -&gt; LiveAPI choosers&#8221;<\/p>\n<p><a href=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-12.36.43-PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-18416\" src=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-12.36.43-PM-300x187.png\" alt=\"Screen Shot 2015-03-04 at 12.36.43 PM\" width=\"300\" height=\"187\" srcset=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-12.36.43-PM-300x187.png 300w, https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-12.36.43-PM-1024x640.png 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<h6>Setting device parameters remotely with live.remote<\/h6>\n<p><a href=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-12.38.29-PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-18417\" src=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-12.38.29-PM-270x300.png\" alt=\"Screen Shot 2015-03-04 at 12.38.29 PM\" width=\"270\" height=\"300\" srcset=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-12.38.29-PM-270x300.png 270w, https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-12.38.29-PM.png 522w\" sizes=\"auto, (max-width: 270px) 100vw, 270px\" \/><\/a><\/p>\n<p>The snippet above shows how to remotely set the volume on the master track<\/p>\n<ul>\n<li>paste the chooser into your patch as explained above<\/li>\n<li>connect the left outlet of &#8220;substitute&#8221; to the right inlet of live.remote<\/li>\n<li>send values to live.remote to change the selected parameter<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Introduction to getting, setting, and observing Live parameters with Max for Live. download https:\/\/github.com\/tkzic\/max-for-live-projects folder: lom patch:\u00a0aaa-lom-examples tutorial This example device shows several ways of working with Ableton Live parameters in a M4L patch. It can be a confusing process. And there are many different ways to accomplish the same result. The examples here will &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/reactivemusic.net\/?p=18401\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;The Live Object Model in Max for Live&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","footnotes":""},"categories":[274,28],"tags":[34,326,134],"class_list":["post-18401","post","type-post","status-publish","format-standard","hentry","category-max-for-live-projects","category-maxmsp","tag-ableton-live","tag-live-object-model","tag-max-for-live"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>The Live Object Model in Max for Live - reactive music<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/reactivemusic.net\/?p=18401\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The Live Object Model in Max for Live - reactive music\" \/>\n<meta property=\"og:description\" content=\"Introduction to getting, setting, and observing Live parameters with Max for Live. download https:\/\/github.com\/tkzic\/max-for-live-projects folder: lom patch:\u00a0aaa-lom-examples tutorial This example device shows several ways of working with Ableton Live parameters in a M4L patch. It can be a confusing process. And there are many different ways to accomplish the same result. The examples here will &hellip; Continue reading &quot;The Live Object Model in Max for Live&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/reactivemusic.net\/?p=18401\" \/>\n<meta property=\"og:site_name\" content=\"reactive music\" \/>\n<meta property=\"article:published_time\" content=\"2015-03-04T16:50:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2015-03-04T17:46:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-11.48.03-AM-300x87.png\" \/>\n<meta name=\"author\" content=\"Tom Zicarelli\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Tom Zicarelli\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=18401#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=18401\"},\"author\":{\"name\":\"Tom Zicarelli\",\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/#\\\/schema\\\/person\\\/56224d281582df7e5518e037ca63e571\"},\"headline\":\"The Live Object Model in Max for Live\",\"datePublished\":\"2015-03-04T16:50:13+00:00\",\"dateModified\":\"2015-03-04T17:46:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=18401\"},\"wordCount\":504,\"image\":{\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=18401#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/reactivemusic.net\\\/wp-content\\\/uploads\\\/2015\\\/03\\\/Screen-Shot-2015-03-04-at-11.48.03-AM-300x87.png\",\"keywords\":[\"Ableton Live\",\"live object model\",\"Max for Live\"],\"articleSection\":[\"max-for-live-projects\",\"Max\\\/MSP\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=18401\",\"url\":\"https:\\\/\\\/reactivemusic.net\\\/?p=18401\",\"name\":\"The Live Object Model in Max for Live - reactive music\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=18401#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=18401#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/reactivemusic.net\\\/wp-content\\\/uploads\\\/2015\\\/03\\\/Screen-Shot-2015-03-04-at-11.48.03-AM-300x87.png\",\"datePublished\":\"2015-03-04T16:50:13+00:00\",\"dateModified\":\"2015-03-04T17:46:43+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/#\\\/schema\\\/person\\\/56224d281582df7e5518e037ca63e571\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=18401#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/reactivemusic.net\\\/?p=18401\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=18401#primaryimage\",\"url\":\"https:\\\/\\\/reactivemusic.net\\\/wp-content\\\/uploads\\\/2015\\\/03\\\/Screen-Shot-2015-03-04-at-11.48.03-AM.png\",\"contentUrl\":\"https:\\\/\\\/reactivemusic.net\\\/wp-content\\\/uploads\\\/2015\\\/03\\\/Screen-Shot-2015-03-04-at-11.48.03-AM.png\",\"width\":1346,\"height\":394},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=18401#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/reactivemusic.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The Live Object Model in Max for Live\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/#website\",\"url\":\"https:\\\/\\\/reactivemusic.net\\\/\",\"name\":\"reactive music\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/reactivemusic.net\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/#\\\/schema\\\/person\\\/56224d281582df7e5518e037ca63e571\",\"name\":\"Tom Zicarelli\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0da58cf21a2707dd335b204b8ed3cd9194dcbf9d9814ac5d71195a65c76c8a72?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0da58cf21a2707dd335b204b8ed3cd9194dcbf9d9814ac5d71195a65c76c8a72?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0da58cf21a2707dd335b204b8ed3cd9194dcbf9d9814ac5d71195a65c76c8a72?s=96&d=mm&r=g\",\"caption\":\"Tom Zicarelli\"},\"sameAs\":[\"http:\\\/\\\/tomzicarelli.com\"],\"url\":\"https:\\\/\\\/reactivemusic.net\\\/?author=2\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"The Live Object Model in Max for Live - reactive music","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/reactivemusic.net\/?p=18401","og_locale":"en_US","og_type":"article","og_title":"The Live Object Model in Max for Live - reactive music","og_description":"Introduction to getting, setting, and observing Live parameters with Max for Live. download https:\/\/github.com\/tkzic\/max-for-live-projects folder: lom patch:\u00a0aaa-lom-examples tutorial This example device shows several ways of working with Ableton Live parameters in a M4L patch. It can be a confusing process. And there are many different ways to accomplish the same result. The examples here will &hellip; Continue reading \"The Live Object Model in Max for Live\"","og_url":"https:\/\/reactivemusic.net\/?p=18401","og_site_name":"reactive music","article_published_time":"2015-03-04T16:50:13+00:00","article_modified_time":"2015-03-04T17:46:43+00:00","og_image":[{"url":"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-11.48.03-AM-300x87.png","type":"","width":"","height":""}],"author":"Tom Zicarelli","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Tom Zicarelli","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/reactivemusic.net\/?p=18401#article","isPartOf":{"@id":"https:\/\/reactivemusic.net\/?p=18401"},"author":{"name":"Tom Zicarelli","@id":"https:\/\/reactivemusic.net\/#\/schema\/person\/56224d281582df7e5518e037ca63e571"},"headline":"The Live Object Model in Max for Live","datePublished":"2015-03-04T16:50:13+00:00","dateModified":"2015-03-04T17:46:43+00:00","mainEntityOfPage":{"@id":"https:\/\/reactivemusic.net\/?p=18401"},"wordCount":504,"image":{"@id":"https:\/\/reactivemusic.net\/?p=18401#primaryimage"},"thumbnailUrl":"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-11.48.03-AM-300x87.png","keywords":["Ableton Live","live object model","Max for Live"],"articleSection":["max-for-live-projects","Max\/MSP"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/reactivemusic.net\/?p=18401","url":"https:\/\/reactivemusic.net\/?p=18401","name":"The Live Object Model in Max for Live - reactive music","isPartOf":{"@id":"https:\/\/reactivemusic.net\/#website"},"primaryImageOfPage":{"@id":"https:\/\/reactivemusic.net\/?p=18401#primaryimage"},"image":{"@id":"https:\/\/reactivemusic.net\/?p=18401#primaryimage"},"thumbnailUrl":"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-11.48.03-AM-300x87.png","datePublished":"2015-03-04T16:50:13+00:00","dateModified":"2015-03-04T17:46:43+00:00","author":{"@id":"https:\/\/reactivemusic.net\/#\/schema\/person\/56224d281582df7e5518e037ca63e571"},"breadcrumb":{"@id":"https:\/\/reactivemusic.net\/?p=18401#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/reactivemusic.net\/?p=18401"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/reactivemusic.net\/?p=18401#primaryimage","url":"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-11.48.03-AM.png","contentUrl":"https:\/\/reactivemusic.net\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-11.48.03-AM.png","width":1346,"height":394},{"@type":"BreadcrumbList","@id":"https:\/\/reactivemusic.net\/?p=18401#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/reactivemusic.net\/"},{"@type":"ListItem","position":2,"name":"The Live Object Model in Max for Live"}]},{"@type":"WebSite","@id":"https:\/\/reactivemusic.net\/#website","url":"https:\/\/reactivemusic.net\/","name":"reactive music","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/reactivemusic.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/reactivemusic.net\/#\/schema\/person\/56224d281582df7e5518e037ca63e571","name":"Tom Zicarelli","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/0da58cf21a2707dd335b204b8ed3cd9194dcbf9d9814ac5d71195a65c76c8a72?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/0da58cf21a2707dd335b204b8ed3cd9194dcbf9d9814ac5d71195a65c76c8a72?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0da58cf21a2707dd335b204b8ed3cd9194dcbf9d9814ac5d71195a65c76c8a72?s=96&d=mm&r=g","caption":"Tom Zicarelli"},"sameAs":["http:\/\/tomzicarelli.com"],"url":"https:\/\/reactivemusic.net\/?author=2"}]}},"_links":{"self":[{"href":"https:\/\/reactivemusic.net\/index.php?rest_route=\/wp\/v2\/posts\/18401","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/reactivemusic.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/reactivemusic.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/reactivemusic.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/reactivemusic.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=18401"}],"version-history":[{"count":9,"href":"https:\/\/reactivemusic.net\/index.php?rest_route=\/wp\/v2\/posts\/18401\/revisions"}],"predecessor-version":[{"id":18423,"href":"https:\/\/reactivemusic.net\/index.php?rest_route=\/wp\/v2\/posts\/18401\/revisions\/18423"}],"wp:attachment":[{"href":"https:\/\/reactivemusic.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=18401"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/reactivemusic.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=18401"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/reactivemusic.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=18401"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}