<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Article RSS Feed</title>
    <link>http://your-web-site.com/rss/</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>The main blog feed for my Web site.</description>
    
    
        <item>
          <title>Elysium gets some MIDI lovin</title>
          <description>&lt;p&gt;Since January I&amp;#8217;ve been learning piano and, now that I am able to play a little, my attitude towards generative music has shifted. Whereas I used to use entirely generative parts in my music now I am trying to think about how I can incorporate generative music into the music I play myself: &lt;em&gt;interactive generative music&lt;/em&gt; if you like.&lt;/p&gt;

&lt;p&gt;As I was pondering this the idea hit me that each of the cells in an Elysium layer represents a note. What would happen if the generators on a layer pulsed not in response to the beat but in response to incoming MIDI notes? So that a generator on a C4 hex pulsed when I played C4 on my keyboard.&lt;/p&gt;

&lt;p&gt;Well I couldn&amp;#8217;t wait to find out so I added the feature (along with an impact trigger mode too) which is included in &lt;a href=&quot;http://lucidmac.com/products/elysium&quot;&gt;Elysium 0.9.7&lt;/a&gt;, released yesterday. Here&amp;#8217;s a demo screencast I made to show how it works:&lt;/p&gt;

&lt;p&gt;&lt;object width=&quot;464&quot; height=&quot;288&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/jxSP5ZP8IHo&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;border=1&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/jxSP5ZP8IHo&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;border=1&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;464&quot; height=&quot;288&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;

&lt;p&gt;I hope you have some fun with this feature. I plan to do more screencasts to show off some of the hidden talents of Elysium!&lt;/p&gt;</description>
          <pubDate>Mon, 29 Jun 2009 10:20:33 GMT</pubDate>
          <guid>http://your-web-site.com/articles/2009/06/29/elysium-gets-some-midi-lovin/</guid>
          <link>http://your-web-site.com/articles/2009/06/29/elysium-gets-some-midi-lovin/</link>
        </item>
    
        <item>
          <title>I wasn't expecting this!!</title>
          <description>&lt;p&gt;So, one of my goals for this year was to see Elysium appear in Computer Music magazine which I&amp;#8217;ve been reading for about 5 months and which I just got a subscription to. Ideally I&amp;#8217;d like to see a full review but my goal was just to see it in print and I&amp;#8217;d just started thinking about how I might make that happen.&lt;/p&gt;

&lt;p&gt;You can imagine my surprise then as I leafed through the April edition, that landed on my doormat this morning, when on page 10 I saw a picture that I recognized. Great Maker! It&amp;#8217;s Elysium!&lt;/p&gt;

&lt;p&gt;It&amp;#8217;s a short piece submitted by Peter Kirn &amp;amp; Create Digital Music and mentioned Mark&amp;#8217;s reacTogon and the Axis controller as well. Sadly no mention of my name (ego check) and, more importantly, no link to Elysium but hopefully Google will provide.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;d still love to see Elysium 1.0 get a proper review in CM before my subscription runs out next January but I was thrilled to see my work appear in print like this. Made my day!&lt;/p&gt;</description>
          <pubDate>Sat, 07 Mar 2009 13:17:00 GMT</pubDate>
          <guid>http://your-web-site.com/articles/2009/03/07/i-wasnt-expecting-this/</guid>
          <link>http://your-web-site.com/articles/2009/03/07/i-wasnt-expecting-this/</link>
        </item>
    
        <item>
          <title>Dial Control</title>
          <description>&lt;p&gt;I have made available on GitHub a new Cocoa custom view I&amp;#8217;ve built for use in Elysium and other projects. It&amp;#8217;s a fairly simple rotary dial control modeled on the dials in Ableton Live. It also has another, in progress, style that is more akin to the pan control in Logic Pro. I may do a couple more styles in due course.&lt;/p&gt;

&lt;p&gt;You can see a video of the control:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://screencast.com/t/9PJ9WWaT&quot;&gt;&lt;img src=&quot;/page_attachments/0000/0044/DialTest.jpg&quot; height=&quot;198&quot; width=&quot;247&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The source is &lt;a href=&quot;https://github.com/mmower/lmdial/tree&quot;&gt;available on GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The control includes a demo app (shown in the video) and an Interface Builder 3 plugin. As such, hopefully, it&amp;#8217;s a good resource for anyone else looking into building their own controls. It&amp;#8217;s actually not that hard to do but navigating the copious documentation (esp. the IB plugin docs) can be a challenge.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;m grateful to &lt;a href=&quot;http://ciaranwal.sh/&quot;&gt;Ciaran Walsh&lt;/a&gt;, &lt;a href=&quot;http://www.lightheadsw.com/&quot;&gt;Tomas Franzén&lt;/a&gt;, &lt;a href=&quot;http://daveverwer.com/&quot;&gt;Dave Verwer&lt;/a&gt;, and peropaal for help.&lt;/p&gt;</description>
          <pubDate>Sun, 18 Jan 2009 00:44:22 GMT</pubDate>
          <guid>http://your-web-site.com/articles/2009/01/18/dial-control/</guid>
          <link>http://your-web-site.com/articles/2009/01/18/dial-control/</link>
        </item>
    
        <item>
          <title>Elysium now with Javascript support</title>
          <description>&lt;p&gt;One of my early goals for &lt;a href=&quot;http://lucidmac.com/products/elysium/&quot;&gt;Elysium&lt;/a&gt; was that it be an environment that is friendly to scripting. There is usually a balance point between hardcoding features and making them easy to use and creating &amp;#8220;parts&amp;#8221; that can be assembled into new, previously unimagined, wholes. With Elysium I have tried to follow the maxim: &amp;#8220;Make the easy things easy and the hard things possible.&amp;#8221;&lt;/p&gt;

&lt;p&gt;My original plan had been to include Javascript based scripting support using Leopards Javascript core. But, without bridge support, this turned out to be a problem I had neither the time, nor the inclination, to solve. That&amp;#8217;s when Laurent Sansonetti of Apple suggested I try &lt;a href=&quot;http://www.macruby.org/&quot;&gt;MacRuby&lt;/a&gt;. As a long-time Ruby coder the idea of using Ruby was very attractive.&lt;/p&gt;

&lt;p&gt;For several releases we have had scripting support using an embedded version of MacRuby. It was a bit of a bumpy ride getting it to work but Laurent put in quite some effort. However MacRuby is still a very young product and I think it&amp;#8217;s quite a way from being ready for production use.&lt;/p&gt;

&lt;p&gt;With the release of &lt;a href=&quot;http://inexdo.com/JSCocoa&quot;&gt;JSCocoa&lt;/a&gt; it&amp;#8217;s possible to access JavascriptCore which is the Apple supplied Javascript interpreter that comes with Leopard and powers Webkit (and, hence, Safari). It&amp;#8217;s pretty good and holds out the promise of being able to use the uber-fast &lt;a href=&quot;http://webkit.org/blog/189/announcing-squirrelfish/&quot;&gt;SquirrelFish VM&lt;/a&gt; when that becomes available. With Elysium being very much a CPU bound application that&amp;#8217;s quite an attractive proposition.&lt;/p&gt;

&lt;p&gt;The latest release, version 0.9.2, swaps out MacRuby for JSCocoa. In the process the size of the application has shrunk considerably because I&amp;#8217;m no longer bundling the MacRuby distribution. And we&amp;#8217;ve also got back support for the PPC platform which has suspended because MacRuby is not supported on that architecture.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;m a little sad not to be using MacRuby. All things considered I&amp;#8217;d rather be writing Ruby than Javascript. And I&amp;#8217;m grateful to Laurent for the work he did in trying to make MacRuby work for Elysium. But, overall, I think JSCocoa is a better choice for Elysium right now. I&amp;#8217;ll take another look at supporting MacRuby when it gets closer to 1.0.&lt;/p&gt;

&lt;p&gt;Expect the Elysium scripting guide soon.&lt;/p&gt;</description>
          <pubDate>Sun, 11 Jan 2009 16:29:47 GMT</pubDate>
          <guid>http://your-web-site.com/articles/2009/01/11/elysium-now-with-javascript-support/</guid>
          <link>http://your-web-site.com/articles/2009/01/11/elysium-now-with-javascript-support/</link>
        </item>
    
        <item>
          <title>Elysium is now open source</title>
          <description>Today I released the source code to Elysium under the open source MIT license.

I started working on Elysium at the end of July 2008. It's consumed a good few evenings and weekends since then and I feel it was time well spent as I've had a lot of fun with it. I hope now that the source is available other people will be encouraged to play with it and improve it.

Happy New Year!

</description>
          <pubDate>Thu, 01 Jan 2009 19:46:15 GMT</pubDate>
          <guid>http://your-web-site.com/articles/2009/01/01/elysium-is-now-open-source/</guid>
          <link>http://your-web-site.com/articles/2009/01/01/elysium-is-now-open-source/</link>
        </item>
    
        <item>
          <title>Elysium mentioned in Synthtopia</title>
          <description>&lt;p&gt;&lt;a href=&quot;/products/elysium/&quot;&gt;Elysium&lt;/a&gt; got a quick mention in &lt;a href=&quot;http://www.synthtopia.com/content/2008/12/06/probabilistic-visual-music-sequencing-with-elysium/&quot;&gt;Synthtopia&lt;/a&gt; recently. They quote from the Elysium site but, sadly, don&amp;#8217;t link to it. Synthtopia&amp;#8217;s a great site though. If you&amp;#8217;re into computer music it&amp;#8217;s definitely one to follow.&lt;/p&gt;</description>
          <pubDate>Thu, 11 Dec 2008 17:21:01 GMT</pubDate>
          <guid>http://your-web-site.com/articles/2008/12/11/elysium-mentioned-in-synthtopia/</guid>
          <link>http://your-web-site.com/articles/2008/12/11/elysium-mentioned-in-synthtopia/</link>
        </item>
    
        <item>
          <title>Elysium lives</title>
          <description>&lt;p&gt;It&amp;#8217;s been a long time coming (at least, that&amp;#8217;s how it feels to me) but my latest creation &lt;a href=&quot;http://lucidmac.com/products/elysium/&quot;&gt;Elysium&lt;/a&gt; has finally arrived in open beta. It&amp;#8217;s rough and ready but it&amp;#8217;s out there and I look forward to hearing what other people do with it.&lt;/p&gt;

&lt;p&gt;From a developers perspective Elysium has been my most challenging application yet. It&amp;#8217;s forced me to learn how to implement a reasonably sophisticated Cocoa view, as well as mastering the document architecture, deal with NSThreads, and I&amp;#8217;ve spent more time with bindings than I care to remember. Mostly it&amp;#8217;s been quite fun and I think I will approach the next application with a good deal more confidence (when I decide what that is).&lt;/p&gt;

&lt;p&gt;In the meantime I have a lot of plans for improving Elysium and I hope building some kind of community around it. In particular I have in mind some features for making it easy to share parts/whole compositions with others. More about that soon&amp;#8230;&lt;/p&gt;</description>
          <pubDate>Thu, 04 Dec 2008 09:49:46 GMT</pubDate>
          <guid>http://your-web-site.com/articles/2008/12/04/elysium-lives/</guid>
          <link>http://your-web-site.com/articles/2008/12/04/elysium-lives/</link>
        </item>
    
        <item>
          <title>What the heck is generative music anyway?</title>
          <description>&lt;p&gt;So, I don&amp;#8217;t have a musical background. I love many forms of music but never learned to play any instruments as a child, don&amp;#8217;t feel I have much sense of rhythm, and couldn&amp;#8217;t tell you C# from F. Yet music is math and I know math, and much of the music I love has a palpable structure that you can appreciate. Over the years the gulf between these two things has bothered me.&lt;/p&gt;

&lt;p&gt;A few months ago I came across (and I can&amp;#8217;t remember where, so thank you if you&amp;#8217;re the person who linked it for me) a video that changed everything. It was of something called reacTogon and it blew my mind:&lt;/p&gt;

&lt;p&gt;&lt;object width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/AklKy2NDpqs&amp;amp;hl=en&amp;amp;fs=1&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/AklKy2NDpqs&amp;amp;hl=en&amp;amp;fs=1&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;

&lt;p&gt;The ability to both see and manipulate, in real-time, the structure of the music you are generating fascinated me. &amp;#8220;This is something I would &lt;strong&gt;love&lt;/strong&gt; to play with.&amp;#8221;, I thought. Building my own reacTogon was far beyond me, but I reasoned that creating something like it in software should not be.&lt;/p&gt;

&lt;p&gt;I had, coincidentally, recently bought Topher Cyll&amp;#8217;s book &amp;#8221;&lt;a href=&quot;http://www.amazon.com/Practical-Ruby-Projects-Programmer-Professionals/dp/159059911X&quot;&gt;Practical Ruby Projects&lt;/a&gt;&amp;#8221; which has a chapter all about generating MIDI. I set about creating something that would let me play with the reacTogon concept in software.&lt;/p&gt;

&lt;p&gt;With Topher&amp;#8217;s LiveMIDI library in hand it wasn&amp;#8217;t that hard to get something up and running. I learned about &lt;a href=&quot;http://www.c-thru-music.com/cgi/?page=layout_notemap&quot;&gt;the harmonic table&lt;/a&gt; and built a data structure to represent it and the layers of elements that represent playheads being generated, played, and so forth.&lt;/p&gt;

&lt;p&gt;I was kind of surprised that it worked, but it did.&lt;/p&gt;

&lt;p&gt;However it was very hard to use. I was programming it using a YAML file and having to more or less guess where things might sound good. What it lacked was the visual feedback and tweakability of the reacTogon.&lt;/p&gt;

&lt;p&gt;After spending some time trying to see how feasible it would be to graft a UI on top of my Ruby code I decided to bite the bullet and reimplement the musical engine in Objective-C and build the whole thing as a Cocoa application.&lt;/p&gt;

&lt;p&gt;The result is &lt;a href=&quot;http://lucidmac.com/products/elysium&quot;&gt;Elysium&lt;/a&gt; which is being beta tested by a few brave souls right now. Here&amp;#8217;s a screen shot or two and you can listen to this, rather ad hoc, composition too:&lt;/p&gt;

&lt;p&gt;&lt;object type=&quot;application/x-shockwave-flash&quot; data=&quot;http://flash-mp3-player.net/medias/player_mp3.swf&quot; width=&quot;200&quot; height=&quot;20&quot;&gt;
    &lt;param name=&quot;movie&quot; value=&quot;http://flash-mp3-player.net/medias/player_mp3.swf&quot; /&gt;
    &lt;param name=&quot;bgcolor&quot; value=&quot;#ffffff&quot; /&gt;
    &lt;param name=&quot;FlashVars&quot; value=&quot;mp3=/page_attachments/0000/0025/Kore_2_20080922_1317.mp3&amp;amp;showstop=1&amp;amp;showinfo=1&quot; /&gt;
&lt;/object&gt;&lt;/p&gt;

&lt;div class=&quot;thumbnail&quot;&gt;&lt;a href=&quot;http://skitch.com/mattmower/sws4/untitled-layer-1-channel-1&quot;&gt;&lt;img src=&quot;http://img.skitch.com/20080922-jdrwm8yqj6q1qre7yrew92cfrt.preview.jpg&quot; alt=&quot;Untitled - Layer-1 (Channel 1)&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080&quot;&gt;Uploaded with &lt;a href=&quot;http://plasq.com/&quot;&gt;plasq&lt;/a&gt;&amp;#8217;s &lt;a href=&quot;http://skitch.com&quot;&gt;Skitch&lt;/a&gt;!&lt;/span&gt;&lt;/div&gt;

&lt;div class=&quot;thumbnail&quot;&gt;&lt;a href=&quot;http://skitch.com/mattmower/swab/untitled-layer-1-channel-1&quot;&gt;&lt;img src=&quot;http://img.skitch.com/20080922-q4ddkcpmxtqip5251yxqm6tft3.preview.jpg&quot; alt=&quot;Untitled - Layer-1 (Channel 1)&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080&quot;&gt;Uploaded with &lt;a href=&quot;http://plasq.com/&quot;&gt;plasq&lt;/a&gt;&amp;#8217;s &lt;a href=&quot;http://skitch.com&quot;&gt;Skitch&lt;/a&gt;!&lt;/span&gt;&lt;/div&gt;

&lt;div class=&quot;thumbnail&quot;&gt;&lt;a href=&quot;http://skitch.com/mattmower/swap/inspector&quot;&gt;&lt;img src=&quot;http://img.skitch.com/20080922-ejhrwwfkpp1wctqrgu5iffj2yq.preview.jpg&quot; alt=&quot;Inspector&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080&quot;&gt;Uploaded with &lt;a href=&quot;http://plasq.com/&quot;&gt;plasq&lt;/a&gt;&amp;#8217;s &lt;a href=&quot;http://skitch.com&quot;&gt;Skitch&lt;/a&gt;!&lt;/span&gt;&lt;/div&gt;</description>
          <pubDate>Mon, 22 Sep 2008 13:22:06 GMT</pubDate>
          <guid>http://your-web-site.com/articles/2008/09/22/what-the-heck-is-generative-music-anyway/</guid>
          <link>http://your-web-site.com/articles/2008/09/22/what-the-heck-is-generative-music-anyway/</link>
        </item>
    
        <item>
          <title>Best laid plans and all that...</title>
          <description>&lt;p&gt;A year or so ago I was harboring plans to work on an indy Mac application. It&amp;#8217;s an application that I&amp;#8217;ve had planned, on and off, for many years. I wrote the first version in C++ and MFC a &lt;em&gt;lot&lt;/em&gt; of years ago, a version in Java+Swing, and so on. I think the Mac and Cocoa are the write place to write it, but the problem is time.&lt;/p&gt;

&lt;p&gt;A year ago I had a lot of spare time. Today I have a &lt;a href=&quot;http://reeplay.it/&quot;&gt;challenging job&lt;/a&gt; and very little spare time. Certainly not the kind of time required to build a large and complex application. So I&amp;#8217;ve shelved my plans for now and am concentrating on a smaller, hobby, project to keep my Cocoa skills from rusting altogether.&lt;/p&gt;

&lt;p&gt;The first by-product of this is &lt;a href=&quot;https://github.com/mmower/lmhoneycombview/tree&quot;&gt;LMHoneycombView&lt;/a&gt; which is a Cocoa custom view that displays a hexagonal &amp;#8220;honeycomb&amp;#8221; surface. Hexes respond to selection and support custom drawing.&lt;/p&gt;

&lt;p&gt;More on what I&amp;#8217;m using this for in a little while&amp;#8230;&lt;/p&gt;</description>
          <pubDate>Sun, 10 Aug 2008 19:25:11 GMT</pubDate>
          <guid>http://your-web-site.com/articles/2008/08/10/best-laid-plans-and-all-that-/</guid>
          <link>http://your-web-site.com/articles/2008/08/10/best-laid-plans-and-all-that-/</link>
        </item>
    
        <item>
          <title>And so it begins</title>
          <description>&lt;p&gt;Ever since I bought my first Macintosh computer (&amp;#8220;Irulan&amp;#8221; a 1.5 GHz 12&amp;#8221; Powerbook G4 and still a lovely machine) in July of 2005 at the urging of my friend &lt;a href=&quot;http://bethlet.net/&quot;&gt;Beth&lt;/a&gt; I have wanted to be involved in MacOSX development. Something about the applications on the Mac just felt &amp;#8220;right&amp;#8221; and I really wanted to be a part of that.&lt;/p&gt;</description>
          <pubDate>Sat, 18 Aug 2007 11:52:52 GMT</pubDate>
          <guid>http://your-web-site.com/articles/2007/08/18/and-so-it-begins/</guid>
          <link>http://your-web-site.com/articles/2007/08/18/and-so-it-begins/</link>
        </item>
    
    
  </channel>
</rss>

