<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>matt.west.co.tt &#187; Demoscene</title>
	<atom:link href="http://matt.west.co.tt/category/demoscene/feed/" rel="self" type="application/rss+xml" />
	<link>http://matt.west.co.tt</link>
	<description>adventures of a retro electro media hacker type person</description>
	<lastBuildDate>Sat, 14 Aug 2010 15:32:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>JSModPlayer &#8211; a Javascript .MOD player</title>
		<link>http://matt.west.co.tt/music/jsmodplayer/</link>
		<comments>http://matt.west.co.tt/music/jsmodplayer/#comments</comments>
		<pubDate>Sun, 23 May 2010 02:22:27 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Demoscene]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Music]]></category>

		<guid isPermaLink="false">http://matt.west.co.tt/?p=156</guid>
		<description><![CDATA[The epic Pacman 30th anniversary Google Doodle, along with Ben Firshman&#8217;s dynamicaudio.js library for dynamically generating audio, collectively persuaded me that I haven&#8217;t done any mad Javascript hacking for far too long. My response to this state of affairs is JSModPlayer, a player for .MOD music files (the mainstay of Amiga and PC sample-based music [...]]]></description>
			<content:encoded><![CDATA[<p>The epic Pacman 30th anniversary Google Doodle, along with Ben Firshman&#8217;s <a href="http://github.com/bfirsh/dynamicaudio.js">dynamicaudio.js</a> library for dynamically generating audio, collectively persuaded me that I haven&#8217;t done any mad Javascript hacking for far too long. My response to this state of affairs is <b><a href="http://jsspeccy.zxdemo.org/jsmodplayer/">JSModPlayer</a></b>, a player for .MOD music files (the mainstay of Amiga and PC sample-based music circa 1990).</p>
<p>So far it only implements a subset of the possible sample effects, and it demands a very fast Javascript engine &#8211; luckily all the new breed of browsers are pretty competitive at that now. Even so, unless your CPU is an absolute behemoth, it&#8217;ll probably struggle to keep up &#8211; the audio output is fixed at 44100Hz, and that&#8217;s rather a lot of numbers for Javascript to crunch, especially when the MOD file gets up to 16 or more channels. Which, amusingly enough, is exactly the situation we had back when we were using Gravis Ultrasounds on 386es. Hurrah for progress!</p>
<p><strong>Update 2010-06-08:</strong> Oops. In the process of testing how Safari 5 shapes up, I discovered a rather silly oversight: the audio buffering routine was set up to never use more than 10% of CPU. Now that I&#8217;ve fixed it, it turns out that Chrome and Safari (at least) have no trouble at all playing Jugi&#8217;s <em>Dope</em> theme in its 28-channel glory. (However, taking the brakes off the buffering does mean that we can&#8217;t reliably pause the audio any more. A small price to pay, I think you&#8217;ll agree.)</p>
]]></content:encoded>
			<wfw:commentRss>http://matt.west.co.tt/music/jsmodplayer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>DivIDEo v0.2.0 &#8211; video converters for the masses</title>
		<link>http://matt.west.co.tt/demoscene/divideo-v0-2-0-video-converters-for-the-masses/</link>
		<comments>http://matt.west.co.tt/demoscene/divideo-v0-2-0-video-converters-for-the-masses/#comments</comments>
		<pubDate>Tue, 18 May 2010 23:53:08 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Demoscene]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[Spectrum]]></category>

		<guid isPermaLink="false">http://matt.west.co.tt/?p=152</guid>
		<description><![CDATA[I&#8217;ve rewritten the DivIDEo converter app in pure C, and as a result it&#8217;s now available in friendly standalone Windows and Mac OS X command line executables (and slightly less crazy and Ruby-ish to compile for other platforms). All the necessary libraries (including a major chunk of ffmpeg) are compiled in, so now there&#8217;s nothing [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve rewritten the DivIDEo converter app in pure C, and as a result it&#8217;s now available in friendly standalone Windows and Mac OS X command line executables (and slightly less crazy and Ruby-ish to compile for other platforms). All the necessary libraries (including a major chunk of <a href="http://ffmpeg.org/">ffmpeg</a>) are compiled in, so now there&#8217;s nothing standing between you and full-on ZX Spectrum video converting action. Head over to <a href="http://divideo.zxdemo.org/">the DivIDEo website</a> for the downloads.</p>
<p>Incidentally, a couple of people have asked about the identity of the singer in <a href="http://www.youtube.com/watch?v=bVO5NUy7uZE">the Outline presentation</a>. Apparently, while that clip is what we sneeringly refer to as an &#8220;internet phenomenon&#8221;, it&#8217;s not quite reached 100% saturation, so: it is <a href="http://knowyourmeme.com/memes/trololo-edward-hill-russian-rickroll">Edward Anatolevich Hill</a>, with a Russian TV performance of the song &#8220;I am very glad, because I&#8217;m finally back home&#8221;, or as it&#8217;s becoming increasingly better known, <a href="http://trololololololololololo.com/">Trololololo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://matt.west.co.tt/demoscene/divideo-v0-2-0-video-converters-for-the-masses/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DivIDEo &#8211; Spectrum streaming video</title>
		<link>http://matt.west.co.tt/demoscene/divideo-spectrum-streaming-video/</link>
		<comments>http://matt.west.co.tt/demoscene/divideo-spectrum-streaming-video/#comments</comments>
		<pubDate>Mon, 03 May 2010 15:06:36 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Demoscene]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Spectrum]]></category>

		<guid isPermaLink="false">http://matt.west.co.tt/?p=148</guid>
		<description><![CDATA[Six years after my first tentative attempts at streaming video from the DivIDE interface were presented at Notcon 2004, I&#8217;ve finally come up with a system that I&#8217;m happy with. It boasts 25fps playback with audio somewhere above the &#8216;nails in a vacuum cleaner&#8217; quality of previous attempts (through the use of delta compression on [...]]]></description>
			<content:encoded><![CDATA[<p>Six years after my first tentative attempts at streaming video from the DivIDE interface were presented at Notcon 2004, I&#8217;ve finally come up with a system that I&#8217;m happy with. It boasts 25fps playback with audio somewhere above the &#8216;nails in a vacuum cleaner&#8217; quality of previous attempts (through the use of delta compression on the video data and variable bitrate audio to use up whatever processor time is left), a one-shot conversion utility that handles all the video decoding, rendering and re-packing, and a player routine that more or less respects the ATA spec (so won&#8217;t fall apart as soon as someone else tries it on a different CompactFlash card. Hopefully). Here&#8217;s how I presented it at the Outline demo party:</p>
<p><object width="480" height="279"><param name="movie" value="http://www.youtube.com/v/bVO5NUy7uZE&#038;hl=en_GB&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/bVO5NUy7uZE&#038;hl=en_GB&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="279"></embed></object></p>
<p>The full description, and a whole bunch of downloads, is on the <a href="http://divideo.zxdemo.org/">DivIDEo project website</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://matt.west.co.tt/demoscene/divideo-spectrum-streaming-video/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Spectrumori-on</title>
		<link>http://matt.west.co.tt/music/spectrumori-on/</link>
		<comments>http://matt.west.co.tt/music/spectrumori-on/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 23:09:40 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Demoscene]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Spectrum]]></category>

		<guid isPermaLink="false">http://matt.west.co.tt/?p=121</guid>
		<description><![CDATA[This 1K intro for the Spectrum (which received 3rd place in the oldskool demo competition at Sundown 2009) was inspired by Bill Bailey. No, really. His current live show features a spot on the Yamaha Tenori-on, which through the medium of &#8220;getting someone in the audience to splurge their hand on it&#8221;, he demonstrates that [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://matt.west.co.tt/images/spectrumorion_small.png" alt="" width="200" height="149" style="border: 5px solid #ccc; margin-left: 12px; float: right;" />This 1K intro for the Spectrum (which received 3rd place in the oldskool demo competition at <a href="http://www.sundowndemoparty.org/">Sundown 2009</a>) was inspired by Bill Bailey. No, really. His current live show features a spot on the Yamaha <a href="http://www.global.yamaha.com/design/tenori-on/">Tenori-on</a>, which through the medium of &#8220;getting someone in the audience to splurge their hand on it&#8221;, he demonstrates that it can&#8217;t fail to play something nice.</p>
<p>This makes it a good excuse for some experimentation with generative music. The secret is in the scale &#8211; it&#8217;s equivalent to playing only the black notes on a piano, and presumably has roots in oriental music (I previously rediscovered it while working on <a href="http://matt.west.co.tt/music/haiku/">Haiku</a>). To make it into something like a proper demo, rather than just a throwaway routine, I added a bit of subtle progression <a href="http://pouet.net/prod.php?which=11946">Cyberpunks Unity style</a>, so it drifts in and out of randomness as the graphical effects change. It even has a proper ending&#8230;</p>
<p>In recent months Yerzmyey has been pushing for the revival of the 16K Speccy as a platform, so I&#8217;m pleased to announce that this demo is &#8211; so we believe &#8211; the third ever demo to run on it.</p>
<ul>
<li><a href="http://www.zxdemo.org/f/200909/spectrumori-on_POSTPARTY.zip">Download Spectrumori-on</a> (TAP, 4Kb)</li>
<li><a href="http://pouet.net/prod.php?which=53831">Spectrumori-on on Pouet</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://matt.west.co.tt/music/spectrumori-on/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ode To Claire / Snakebite</title>
		<link>http://matt.west.co.tt/music/ode-to-claire-snakebite/</link>
		<comments>http://matt.west.co.tt/music/ode-to-claire-snakebite/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 20:17:25 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Demoscene]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Spectrum]]></category>

		<guid isPermaLink="false">http://matt.west.co.tt/?p=117</guid>
		<description><![CDATA[A couple of fast-made Spectrum releases for last month&#8217;s most excellent]]></description>
			<content:encoded><![CDATA[<p>A couple of fast-made Spectrum releases for last month&#8217;s most excellent <a href=http://www.outlinedemoparty.nl/">Outline</a> demo party. <strong>Ode To Claire</strong> is a curious little 128 byte intro, using a trick I&#8217;ve been wanting to try out for ages. It&#8217;s not exactly a fast-paced action extravaganza, but it does fit 150-odd characters of avant-garde poetry, the printing routine, and a demo effect into 128 bytes of code. Working out how is an exercise for the reader (and I&#8217;m quite interested to know whether the secret is immediately obvious to anyone who&#8217;s at all familiar with the Spectrum&#8230;)</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/3LSzKeh-6sQ&#038;hl=en&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/3LSzKeh-6sQ&#038;hl=en&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<ul>
<li><a href="http://www.zxdemo.org/f/200905/ode_to_claire.zip">Download Ode To Claire</a></li>
<li><a href="http://pouet.net/prod.php?which=53180">Ode To Claire on Pouet</a></li>
</ul>
<p>On the musical front, <strong>Snakebite</strong> is a chiptune with a middle-eastern vibe, modelled after every Turkish Eurovision entry ever. It got third place in the competition, and originally they weren&#8217;t going to give out a third prize, but they had some spare food left over on the Saturday night, so I won a jar of sausages. <em>Best. Prize. Ever.</em></p>
<p><a href="http://music.matt.west.co.tt/speccy/gasman_-_snakebite.mp3">Download gasman_-_snakebite.mp3</a></p>
<ul>
<li><a href="http://music.matt.west.co.tt/speccy/gasman_-_snakebite.mp3">Download Snakebite &#8211; MP3 (2.5Mb)</li>
<li><a href="http://music.matt.west.co.tt/speccy/gasman_-_snakebite.stc">Download Snakebite &#8211; STC (5.1Kb)</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://matt.west.co.tt/music/ode-to-claire-snakebite/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
<enclosure url="http://music.matt.west.co.tt/speccy/gasman_-_snakebite.mp3" length="2604390" type="audio/mpeg" />
		</item>
		<item>
		<title>Antisocial</title>
		<link>http://matt.west.co.tt/demoscene/antisocial/</link>
		<comments>http://matt.west.co.tt/demoscene/antisocial/#comments</comments>
		<pubDate>Thu, 09 Oct 2008 00:08:02 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Canvastastic]]></category>
		<category><![CDATA[Demoscene]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Talks]]></category>

		<guid isPermaLink="false">http://matt.west.co.tt/?p=108</guid>
		<description><![CDATA[This is it then&#8230; my big comeback to the Javascript demo scene after a two year absence, and also the moment when my demo coding muse returned from a long holiday, I guess. Ladies and gentlemen, I give you&#8230; Antisocial, a biting satire on social networking phenomena. Visit the Antisocial microsite&#8230; With my characteristic lack [...]]]></description>
			<content:encoded><![CDATA[<p><img src="/images/antisocial.png" width="177" height="200" alt="" style="float:right; border:8px solid silver;margin-left: 16px;" /> This is it then&#8230; my big comeback to the Javascript demo scene after a two year absence, and also the moment when my demo coding muse returned from a long holiday, I guess. Ladies and gentlemen, I give you&#8230; <strong>Antisocial</strong>, a biting satire on social networking phenomena.</p>
<p><strong><a href="http://antisocial.demozoo.org/">Visit the <em>Antisocial</em> microsite&#8230;</a></strong></p>
<p>With my characteristic lack of organisation, I found myself with two weeks to go to the <a href="http://sundowndemoparty.org/">Sundown</a> party, having promised a demo release, and with nothing specific in the pipeline. So, I decided to take a chance and run with an idea that had been sitting on top of my &#8220;demos to write when I have more free time than I do right now&#8221; pile for the best part of a year. I had it all planned out in my head, right down to the soundtrack: a mysterious track from an unlabelled CD I picked up at a <a href="http://myspace.com/zxspectrumorchestra">ZX Spectrum Orchestra</a> gig in 2005 (which turned out to be <i>Round</i>, from their Clive Live^3 EP). A quick bit of permission-getting later, and I was at the point of no return.</p>
<p>I knew it would be an ambitious job, and a bit of a leap artistically and technically from my usual stuff. I pencilled in a rough project plan in my diary. I drew up storyboards. I read up on the maths that was too nasty to contemplate on previous projects. And shockingly enough, I actually <em>enjoyed</em> all of the above.</p>
<p><span id="more-108"></span><br />
As it happens, browser technology (as far as the <tt>&lt;canvas&gt;</tt> element goes at least) has not moved on one jot in the last two years, so I was able to dust off the <a href="http://matt.west.co.tt/javascript/canvastastic-beta-1/">Canvastastic</a> codebase and found it still pleasantly usable and not too affected by code rot. I gave it a slightly more OpenGL-ish API (within the limitations of my &#8220;someone at the pub described it to me once&#8221; knowledge of OpenGL) and patched up the more glaring omissions (like Z-plane clipping, so that you can have polygons going behind the camera. Proper <a href="http://www.cubic.org/docs/3dclip.htm">frustum clipping</a> would have been a better idea, so that I didn&#8217;t end up with it trying to plot 20000&#215;40000 pixel triangles and sending Windows into a stroboscopic flashing fit and having to hack up a fix after the party. Macs are fine with it&#8230;).</p>
<p>The demo code was only half the job though; to handle the camera paths and synchronisation and the million other details where hard-coding wouldn&#8217;t cut it this time, I joined the big league of the demoscene by building a demo tool (still all in Javascript) that probably only I can understand. (It&#8217;s included in the final release, so have a play. I dare you.) As I didn&#8217;t have any meaningful experience in 3dMAX, or Flash, or Werkkzeug, or Quartz Composer, or any of the other things I really ought to have been using as reference points, it was a grand exercise in Making It Up As I Went Along. I&#8217;d almost forgotten how much fun it is to code that way, but naturally a fair few bad decisions came out of that as well. Firstly, it turns out that organising things around a timeline interface doesn&#8217;t really fit all that well; it means that every object and event is treated as independent of everything else, so things get a bit clunky when they have to share resources (such as lots of camera shots of the same scene). Looks like you can&#8217;t beat the good old boxes-and-arrows-all-over-the-place approach.</p>
<p>Secondly, and what probably comes as no surprise to anyone but me &#8211; Javascript is a bit horrible for building demo tools in. The demo itself, no problem &#8211; but for the user interface widgets I found myself constantly wishing for nice, sensible class-based inheritance. Yep, I know the language boffins will say that prototype-based OOP is more powerful, but I guess I&#8217;ve just had my mind addled by programming in the real world. I know of a few attempts to graft class-like behaviour onto Javascript, and that should probably be at the heart of any attempted rewrite of this. Alternatively, there&#8217;s a growing-but-not-quite-there-yet buzz around alternative scripting languages in the browser (just like there&#8217;s a buzz in the opposite direction for server-side Javascript), so perhaps it wouldn&#8217;t be out of the question to have a browser demo tool written in Ruby or Python. Or have the browser environment embedded in a ruby/python desktop app &#8211; at which point, why stop at browser demos? Could it be designed as a more general tool, where the browser is just one of many platforms that can be swapped in? It&#8217;s tempting. Onward and upward!</p>
]]></content:encoded>
			<wfw:commentRss>http://matt.west.co.tt/demoscene/antisocial/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>50/90 2008: somewhat fewer than 50 songs</title>
		<link>http://matt.west.co.tt/music/5090-2008/</link>
		<comments>http://matt.west.co.tt/music/5090-2008/#comments</comments>
		<pubDate>Mon, 06 Oct 2008 23:31:04 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Demoscene]]></category>
		<category><![CDATA[FAWM]]></category>
		<category><![CDATA[Music]]></category>

		<guid isPermaLink="false">http://matt.west.co.tt/?p=107</guid>
		<description><![CDATA[50/90, or 50 Songs In 90 Days, is the less photogenic and slightly more intimidating cousin of February Album Writing Month, running throughout July, August and September. The idea is to write fif- oh, you worked that bit out already. This year FAWM supremo Burr Settles donated the song-posting infrastructure to 50/90 (previous years were [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://5090.fawm.org/">50/90</a>, or <em>50 Songs In 90 Days</em>, is the less photogenic and slightly more intimidating cousin of February Album Writing Month, running throughout July, August and September. The idea is to write fif- oh, you worked that bit out already. This year FAWM supremo Burr Settles donated the song-posting infrastructure to 50/90 (previous years were run through a Yahoo group) so it became a natural off-season hangout for FAWM veterans. Me, I wasn&#8217;t planning on taking part, but since I ended up writing a couple of songs over that time period for one reason or another, it would have been silly not to crash the party late on and participate in a laid-back, not-letting-it-take-over-your-life sort of way. And here are the results.<br />
<a id="everything-is-relative"><br />
<h3>Everything Is Relative</h3>
<p></a><br />
<a href="http://music.matt.west.co.tt/matt_westcott_-_everything_is_relative.mp3">Download matt_westcott_-_everything_is_relative.mp3</a><br />
This started out as an instrumental track laid down at <a href="http://shucon.org/">Shucon 2008</a> on TDM&#8217;s GarageBand / MIDI setup, which came back to bite me as a nasty bit of vendor lock-in. (I figured that since GarageBand took MIDI input and stored it as MIDI-like note events, I&#8217;d be able to export it to a .mid file, right? Silly me.) Luckily I managed to salvage / re-record enough of it to work on it some more and develop it into a proper song. Spurred on by some particularly eclectic music competitions at <a href="http://www.assembly.org/summer08/">Assembly</a>, I decided to try my luck at entering it at <a href="http://www.evoke.eu/2008/">Evoke</a>, just to see what would happen when it was thrown in against a whole load of D+B and trance tracks. Not surprisingly, it failed to qualify. But having done the rounds of more or less the entire summer demo party season, it found a home at <a href="http://sundowndemoparty.org/">Sundown 2008</a>, where it got 4th place. Score!</p>
<p>The lyrics were actually sparked by the train journey back from Shucon &#8211; at the seat in front of me, I saw that someone had drawn some initials in a heart on the window. This made me think &#8220;eww, that&#8217;s a bit tacky. Oh, hang on &#8211; whoever did that drew it on the outside of the window but did it in mirror writing so his girlfriend on the train could read it. Aww, that&#8217;s like the most romantic thing ever!&#8221;<br />
<a id="edgware-road"><br />
<h3>Edgware Road</h3>
<p></a><br />
<a href="http://music.matt.west.co.tt/matt_westcott_-_edgware_road.mp3">Download matt_westcott_-_edgware_road.mp3</a><br />
A slightly more obviously train-related song, written to immortalise that enigma of the London Underground where time stands still, and add to the repertoire of <a href="http://tubechallenge.pbwiki.com/TubeSongs">songs about tube stations</a>. Lyrics were mostly written on the Eurostar (hence the namecheck in the bridge) and the recording was done a-cappella stylee in the cabin of a sleeper train on the way back from International Vodka Party. Naturally, this was a horrible painstaking process of waiting for the moments when the train wasn&#8217;t making an absolute racket, but it had to be done for posterity. How many other songs have been written and recorded entirely on public transport, eh?<br />
<a id="cabbage-soup-for-the-soul"><br />
<h3>Cabbage Soup For The Soul</h3>
<p></a><br />
<a href="http://music.matt.west.co.tt/matt_westcott_-_cabbage_soup_for_the_soul.mp3">Download matt_westcott_-_cabbage_soup_for_the_soul.mp3</a><br />
Written for <a href="http://www.paulturrell.com/">Hoopshank</a> as part of intense negotiations (not really) over contributing to another as yet unannounced musical project. He demanded songs of cabbage&#8230; I answered the call. I added a self-imposed constraint that the song had to have a mostly-serious message, so I came up with the idea of cabbage soup for the soul, as being something like <a href="http://en.wikipedia.org/wiki/Chicken_Soup_for_the_Soul">Chicken Soup for the Soul</a> but not as pleasant, and better for you. And suitable for vegans. And with that, the song just wrote itself. Or, more accurately, was written on my behalf by my alter ego, fictional Scottish indie band <a href="http://matt.west.co.tt/music/are-great-things-born/">Glencoe Horse</a>.<br />
<a id="at-the-river-slight-return"><br />
<h3>At The River (slight return)</h3>
<p></a><br />
<a href="http://music.matt.west.co.tt/matt_westcott_-_at_the_river_slight_return.mp3">Download matt_westcott_-_at_the_river_slight_return.mp3</a><br />
OK, scraping the barrel a bit here. But you can&#8217;t really blame me for having a sudden bout of obsessive-compulsive disorder on realising that the lyrics to <em>At The River</em> by Groove Armada consist entirely of a half-sentence that trails off unsettlingly without completing its train of thought. &#8220;If you&#8217;re fond of sand dunes and salty air, quaint little villages here and there,&#8221; &#8211; then&#8230; what exactly? Clearly, this had to be fixed. So I did.</p>
<p>(All songs downloadable from the not-very-pretty <a href="http://music.matt.west.co.tt/">music.matt.west.co.tt</a> &#8211; lyrics available from <a href="http://5090.fawm.org/writers.php?id=729">my 50/90 profile</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://matt.west.co.tt/music/5090-2008/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
<enclosure url="http://music.matt.west.co.tt/matt_westcott_-_everything_is_relative.mp3" length="4610218" type="audio/mpeg" />
<enclosure url="http://music.matt.west.co.tt/matt_westcott_-_edgware_road.mp3" length="1679323" type="audio/mpeg" />
<enclosure url="http://music.matt.west.co.tt/matt_westcott_-_cabbage_soup_for_the_soul.mp3" length="3592865" type="audio/mpeg" />
<enclosure url="http://music.matt.west.co.tt/matt_westcott_-_at_the_river_slight_return.mp3" length="1798554" type="audio/mpeg" />
		</item>
		<item>
		<title>The Ninja Milkman Conspiracy (and Maze)</title>
		<link>http://matt.west.co.tt/demoscene/ninja-milkman-conspiracy/</link>
		<comments>http://matt.west.co.tt/demoscene/ninja-milkman-conspiracy/#comments</comments>
		<pubDate>Sun, 05 Oct 2008 21:15:16 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Demoscene]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Spectrum]]></category>

		<guid isPermaLink="false">http://matt.west.co.tt/?p=106</guid>
		<description><![CDATA[I&#8217;m a bit behind in my blogging, so I&#8217;ve got a bit of a &#8220;what I did this summer&#8221; catchup to do. First up is The Ninja Milkman Conspiracy, a cheap and cheerful oldskool scrolly Speccy demo made for this August&#8217;s International Vodka Party, featuring the classic circle interference effect, some creative use of dithering, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center"><img src="http://pouet.net/screenshots/51422.png" alt="" width="320" height="240" /></p>
<p>I&#8217;m a bit behind in my blogging, so I&#8217;ve got a bit of a &#8220;what I did this summer&#8221; catchup to do. First up is <b>The Ninja Milkman Conspiracy</b>, a cheap and cheerful oldskool scrolly Speccy demo made for this August&#8217;s International Vodka Party, featuring the classic circle interference effect, some creative use of dithering, and a dancing robot. What more could you ask for? The title, incidentally, was just something random and irrelevant to save it from being called &#8216;IVP 2008 demo&#8217; (which is just as well, because there were already 2 other demos in the competition called that) but is actually a reference to the milkman at one of our offices who is able to deliver the milk and disappear without making a sound.</p>
<p>&#8230;All of which is ordinary enough, but the exciting thing (if you&#8217;re the sort of person to get excited about build scripts) is, um, the build script. I&#8217;ve been happily using makefiles for ages, but this time I finally flipped at the amount of redundant boilerplate you need to shove in there for a typical Spectrum project, even a small one like this &#8211; having to remember command line syntax, having to explicitly set up dependencies even though they&#8217;re all clearly marked as &#8216;include&#8217; lines in the assembler file &#8211; so I came up with <b>Maze</b>, a Spectrum-oriented replacement for Make written in Ruby. Inevitably, being a scratch-my-own-itch sort of program, it&#8217;s a bit more hard-coded (and tuned towards my own way of working) than I&#8217;d like, but I reckon it&#8217;s enough of an improvement over bog-standard makefiles that it could conceivably be useful to other people. And if it is, maybe I&#8217;ll be encouraged to rewrite it in a more open-ended way some time&#8230;</p>
<ul>
<li><a href="http://www.zxdemo.org/f/200808/gasman_-_ninja_milkman_conspiracy.zip">Download The Ninja Milkman Conspiracy</a> (TAP, 12Kb)</li>
<li><a href="http://www.zxdemo.org/extra/src/ninja_milkman_conspiracy_src.zip">The Ninja Milkman Conspiracy source code, including Maze</a> (27Kb)</li>
<li><a href="http://matt.west.co.tt/files/maze/maze_documentation.txt">Maze documentation</a> and <a href="http://matt.west.co.tt/files/maze/ninja_milkman_conspiracy.mazefile.txt">TNMC Mazefile</a>, to whet your appetite&#8230;</li>
<li><a href="http://pouet.net/prod.php?which=51422">The Ninja Milkman Conspiracy on Pouet</a></li>
]]></content:encoded>
			<wfw:commentRss>http://matt.west.co.tt/demoscene/ninja-milkman-conspiracy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spacecake</title>
		<link>http://matt.west.co.tt/music/spacecake/</link>
		<comments>http://matt.west.co.tt/music/spacecake/#comments</comments>
		<pubDate>Sun, 03 Aug 2008 00:14:14 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Demoscene]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Spectrum]]></category>

		<guid isPermaLink="false">http://matt.west.co.tt/?p=104</guid>
		<description><![CDATA[When I&#8217;m writing Speccy music, I&#8217;m always very conscious of stereotyping myself. At the Forever party, they gave up on anonymising music competition entries after realising that everyone in the room recognised the Gasman entry (and the Yerzmyey entry, the Factor6 entry&#8230;) within two seconds of it starting up &#8211; even if I&#8217;d gone to [...]]]></description>
			<content:encoded><![CDATA[<p>When I&#8217;m writing Speccy music, I&#8217;m always very conscious of stereotyping myself. At the Forever party, they gave up on anonymising music competition entries after realising that everyone in the room recognised the Gasman entry (and the Yerzmyey entry, the Factor6 entry&#8230;) within two seconds of it starting up &#8211; even if I&#8217;d gone to great lengths to reinvent myself.</p>
<p>This time, with two or three days left before Assembly and nothing to show, I decided to make it easy on myself, and stick with what I know &#8211; the primal boop-durr-tish-durr bassline, the crowd-pleasing echoing cascades &#8211; and not be too bothered about basking in my signature style. As a result, it&#8217;s not the most original piece of music I&#8217;ve ever written, but it did its job &#8211; it made first place in the Extreme Music competition where it was up against PC soft-synths in addition to the now familiar Commodores and Nintendos.</p>
<p>The title <em>isn&#8217;t</em> a bid to stir up controversy with drug references, by the way. I just liked the combination of words.</p>
<p><a href="http://www.zxdemo.org/extra/music/gasman_-_spacecake.mp3">Download gasman_-_spacecake.mp3</a></p>
<ul>
<li><a href="http://www.zxdemo.org/extra/music/gasman_-_spacecake.mp3">Download Spacecake (MP3, 4.3Mb)</a></li>
<li><a href="http://www.zxdemo.org/extra/music/spacecake_by_gasman.zip">Download Spacecake (TAP, 5Kb)</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://matt.west.co.tt/music/spacecake/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
<enclosure url="http://www.zxdemo.org/extra/music/gasman_-_spacecake.mp3" length="4497746" type="audio/mpeg" />
		</item>
		<item>
		<title>AY Club: Breath Of Air</title>
		<link>http://matt.west.co.tt/music/ay-club-breath-of-air/</link>
		<comments>http://matt.west.co.tt/music/ay-club-breath-of-air/#comments</comments>
		<pubDate>Sat, 10 May 2008 20:49:48 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Demoscene]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Spectrum]]></category>

		<guid isPermaLink="false">http://matt.west.co.tt/?p=101</guid>
		<description><![CDATA[As a postscript to the release of tracker2ay, here&#8217;s the reason I wanted to transfer tracker files back to the Spectrum in the first place: to play X-Agon&#8217;s 6-channel Breath Of Air (as featured on the AY Riders Satellite single) the way that God intended, on two Spectrums playing 3 channels each&#8230;]]></description>
			<content:encoded><![CDATA[<p>As a postscript to the release of <a href="http://matt.west.co.tt/music/tracker2ay/">tracker2ay</a>, here&#8217;s the reason I wanted to transfer tracker files back to the Spectrum in the first place: to play X-Agon&#8217;s 6-channel <em>Breath Of Air</em> (as featured on the <a href="http://ay-riders.speccy.cz/">AY Riders</a> <em>Satellite</em> single) the way that God intended, on two Spectrums playing 3 channels each&#8230;</p>
<p><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/OqZ2IzWqdYo&#038;hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/OqZ2IzWqdYo&#038;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://matt.west.co.tt/music/ay-club-breath-of-air/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
