{"id":186,"date":"2012-01-16T23:45:49","date_gmt":"2012-01-16T23:45:49","guid":{"rendered":"https:\/\/aumhaa.com\/wp\/?p=186"},"modified":"2012-01-17T04:13:54","modified_gmt":"2012-01-17T04:13:54","slug":"mirror-people","status":"publish","type":"post","link":"https:\/\/aumhaa.com\/wp\/?p=186","title":{"rendered":"Mirror People"},"content":{"rendered":"<p>I feel so stupid sometimes. \u00a0Yesterday, around 5pm was a very good example.<\/p>\n<p>&nbsp;<\/p>\n<p>I&#8217;ve been slowly but surely getting near a release point for b993, and very happy with the way things have been coming along, for the most part. \u00a0In addition to this most current release of Monomodular, I&#8217;ve been working on some collaborative projects with others using some of the underlying technology in the Mod system.<\/p>\n<p>One of the things that has irritated me the most about working with Mods in m4l since I ported everything over to Python is that I&#8217;ve never been able to create a core Max client that would play nice in edit mode. \u00a0You can go there, but you just can&#8217;t come back. \u00a0Sometimes things crash. \u00a0Sometimes it&#8217;s Max, sometimes it&#8217;s Live, sometimes it&#8217;s Python dropping out inside Live. \u00a0All of this is due to how Ableton handles disconnects\/reconnects of Python lambdas, and, well&#8230;.it might not be such a big deal if anyone besides them actually KNEW how it handled those callbacks. \u00a0I mean, I could sit in front of byte-code for 2 days and translate the most current _MXDCore (and I guess it would be time well spent, and I&#8217;d be a hero in the community, and, and&#8230;.) but I REALLY don&#8217;t want to do that. \u00a0I did, however, want to fix that problem. \u00a0I REALLY wanted to fix that problem (god only knows how many hours I&#8217;d already spent trying to figure out a way to fix it).<\/p>\n<p>Instead of doing what normal people do when faced with a three day weekend, I decided that I&#8217;d hole up and deal with this issue. \u00a0I mean, it was essentially the last core element I needed to deal with, and why not deal with it before the b993 release? Eight hours later, I&#8217;d made progress. \u00a0Well, a little progress. \u00a0I&#8217;d dug deeper into the \u00a0process that Ableton uses when switching between Live and Edit mode than I&#8217;d ever done before, explored more of the _Framework&#8217;s structure, and considered all the myriad merits of&#8230;.well, suicide. \u00a0I&#8217;d tried several different methods of getting what I needed&#8230;.and kept coming to an impasse.<\/p>\n<p>I&#8217;d entered a strange mirror universe&#8230;I was stuck on one side, until I was on the other side&#8230;.but when I got to the other side, I couldn&#8217;t remember that there had been the first side&#8230;.I had dreams about this, in some kind of paranormal limbo between worlds, identical worlds, that were parallel but destined to remain forever untouching, for if their streams crossed even ever so slightly, CATASTROPHE! \u00a0EXPLOSION!!!!!&#8230;&#8230;<\/p>\n<p>Yeah, Live would crash. \u00a0Suck. \u00a0Or the Python script would crash. \u00a0My. \u00a0Or Max would crash. \u00a0(Well, you know)<\/p>\n<p>By day two (well, night one, in the agonized desperation of too much caffeine and artificial stimulants), I&#8217;d come to a further conclusion about my course, and although I felt the disappointment that goes along with one&#8217;s ideals being dashed, I was optimistic about the results of my future efforts: \u00a0I would &#8220;sandbox&#8221; the damned thing, Python side. \u00a0I would restrict the functionality of the Mod while in edit mode, and isolate its existence in the m4l multiverse so that its entity was directly linked to its ghost-soul on the other side of the Ableton mirror (ok&#8230;I was on a lot of caffeine, but seriously, there were no other drugs involved&#8230;.it was seriously a transcendentory experience like that).<\/p>\n<p>Six hours later (or so), I had a working candidate. \u00a0It still didn&#8217;t do exactly what I expected, but&#8230;.it didn&#8217;t crash (much). \u00a0It didn&#8217;t make my controller stop doing things (most of the time). \u00a0I could travel between m4l worlds as much as pleased me&#8230;.I had successfully created a machine that could cross the m4l multiverse. \u00a0Yay! \u00a0But it still needed much work.<\/p>\n<p>The following day, my task was to clean up the code and make sure that everything was working as expected with the Mod connection routines when several clients were running at once. \u00a0In the process, I reviewed all the original code and tried to weed out a bunch of stuff that had gotten added in the testing process.<\/p>\n<p>&nbsp;<\/p>\n<p>Soliloquoy:<\/p>\n<p>Well, hello, what&#8217;s this? \u00a0&#8216;\/\/switchboard.property = 0&#8217;. \u00a0I don&#8217;t need that anymore, since it doesn&#8217;t work in the first place. \u00a0I found that out six months ago. \u00a0Too bad it doesn&#8217;t work anymore, it would&#8217;ve solved all of my problems. \u00a0It doesn&#8217;t work, does it? \u00a0I&#8217;ve tested it, right? \u00a0Maybe I should test it&#8230;.since I still have this one little nagging problem, and it would solve it quite easily. \u00a0HELL, it would have resolved this whole situation, and I wouldn&#8217;t have needed this whole &#8216;sandbox&#8217; thing. \u00a0Maybe I should double-check it to make sure it doesn&#8217;t work, as I&#8217;d found when I experimented with it six months ago&#8230;..<\/p>\n<p>Maybe I shouldn&#8217;t, though, since, if it does work, well&#8230;.I&#8217;d be really, Really, REALLY angry at all the time I&#8217;ve just wasted.<\/p>\n<p>You can probably guess what happened after that.<\/p>\n<p>&nbsp;<\/p>\n<p>Moral of the story: \u00a0 b993 is nearly in the can. \u00a0After repackaging everything and changing a few lines in the installer&#8217;s code to prepare for some changed\/extra file handling, I moved everything over to my Live rig last night after a gig, installed it (without even a complaint from the Max window), \u00a0dropped all the new mods on top of the old ones to replace them, saved the project&#8230;.and crossed my fingers.<\/p>\n<p>I hit play&#8230;.<\/p>\n<p><em>\u00a0Stuff happened<\/em>. \u00a0Not exactly what I expected to happen, but with the press of a couple of buttons, and the turn of a couple of knobs, everything was playing in my set exactly as it had been 5 minutes before, with b992. \u00a0I didn&#8217;t even have to restart. \u00a0And it was better \ud83d\ude42 \u00a0All of those additions worked nicely, I found, as I jammed out with the looper and the new LCD patch over the next half an hour (at 4am&#8230;.yeah, my neighbors must really love me).<\/p>\n<p>So, there were a few things that didn&#8217;t work quite right the first time. \u00a0I&#8217;ll get to them over the next couple of days. \u00a0I also have to make provisions in the installer for the new distribution format (unfrozen files, mod abstract clippings) and Windows7 (and hopefully Lion) installations, but you can expect a new revision within a couple of days if everything tests well.<\/p>\n<p>I&#8217;ve made a great number of changes, both to the core framework and to the individual patches; \u00a0there&#8217;s also a new patch, LCD, which takes on the jobs of all the old individual LCD patches, only better&#8230;.the change log takes up 3 pages, so you&#8217;ll have to wait untill it comes out.<\/p>\n<p>A new Monolink won&#8217;t arrive until later, but I can release it seperately.<\/p>\n<p>This post is far too long already&#8230;.back to work with me.<\/p>\n<p>&nbsp;<\/p>\n<p>a<\/p>\n<div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>I feel so stupid sometimes. \u00a0Yesterday, around 5pm was a very good example. &nbsp; I&#8217;ve been slowly but surely getting near a release point for b993, and very happy with the way things have been coming along, for the most part. \u00a0In addition to this most current release of Monomodular, I&#8217;ve been working on some [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[1],"tags":[],"class_list":["post-186","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p3po2h-30","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/aumhaa.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/186","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aumhaa.com\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aumhaa.com\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aumhaa.com\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aumhaa.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=186"}],"version-history":[{"count":9,"href":"https:\/\/aumhaa.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/186\/revisions"}],"predecessor-version":[{"id":188,"href":"https:\/\/aumhaa.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/186\/revisions\/188"}],"wp:attachment":[{"href":"https:\/\/aumhaa.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=186"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aumhaa.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=186"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aumhaa.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=186"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}