<?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>Wobbly Music &#187; Tech Tips</title>
	<atom:link href="http://www.wobblymusic.com/blog/category/tech-tips/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.wobblymusic.com/blog</link>
	<description>Lothars HQ</description>
	<lastBuildDate>Fri, 03 Sep 2010 14:21:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Wobbly Tech Tip #2: Running a function on just the dragged element of a script.aculo.us sortable</title>
		<link>http://www.wobblymusic.com/blog/2009/10/14/wobbly-tech-tip-2-running-a-function-on-just-the-dragged-element-of-a-script-aculo-us-sortable/</link>
		<comments>http://www.wobblymusic.com/blog/2009/10/14/wobbly-tech-tip-2-running-a-function-on-just-the-dragged-element-of-a-script-aculo-us-sortable/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 02:14:32 +0000</pubDate>
		<dc:creator>Jon B.</dc:creator>
				<category><![CDATA[Tech Tips]]></category>
		<category><![CDATA[Track-Blaster]]></category>

		<guid isPermaLink="false">http://www.wobblymusic.com/blog/?p=167</guid>
		<description><![CDATA[I recently implemented a change to my Track-Blaster software so that DJs can rearrange songs in a playlist by dragging and dropping them from one place to another. To do this, I incorporate the wonderful Scriptaculous javascript library.
I&#8217;m not going to give a tutorial of how this effect is achieved. If you want that, there&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>I recently implemented a change to my <a href="http://www.track-blaster.com/wmbr" target="_blank">Track-Blaster</a> software so that DJs can rearrange songs in a playlist by dragging and dropping them from one place to another. To do this, I incorporate the wonderful <a href="http://script.aculo.us/" target="_blank">Scriptaculous</a> javascript library.</p>
<p>I&#8217;m not going to give a tutorial of how this effect is achieved. If you want that, there&#8217;s a <a href="http://zenofshen.com/posts/ajax-sortable-lists-tutorial" target="_blank">great one here</a>. The reason for this post is to share a solution to a specific problem I was having using these &#8220;sortables&#8221;.</p>
<p>The problem is this: I drag an element within a sortable. Sometimes I drag it to a different position and sometimes I don&#8217;t. I want to run different functions on the dragged element depending on whether it has moved. There are functions included in the library that are useful &#8212; <a href="http://wiki.github.com/madrobby/scriptaculous/sortable-serialize" target="_blank">Sortable.serialize</a> and <a href="http://wiki.github.com/madrobby/scriptaculous/sortable-sequence" target="_blank">Sortable.sequence</a> &#8212; but they return a string or array containing the new order of <b>all</b> the elements. I am only interested in the element I&#8217;m dragging.</p>
<p><a href="http://wiki.github.com/madrobby/scriptaculous/sortable-create" target="_blank">Sortable.create</a> has a callback, OnUpdate, that&#8217;s triggered only when an element is moved to a different spot. However, it doesn&#8217;t know <b>which</b> element was dragged; the entire list is its parameter. Conversely, there is an option called reverteffect that knows which element was dragged, but it doesn&#8217;t know whether it&#8217;s gone to a different position or stayed put.</p>
<p>Conveniently, OnUpdate is called before reverteffect. My solution involves using OnUpdate to add a temporary class to the list container. Then, reverteffect is used to test whether that class exists. If it does, the class is removed and a function is called on the moved element. If it doesn&#8217;t, a different function can be called on the dragged-but-not-moved element. <a href="http://www.track-blaster.com/wmbr/sortable.html" target="_blank">Here&#8217;s a sample page</a> that shows you what I&#8217;m talking about. Put your mouse over the up/down arrows and drag that item to somewhere else within the list. Or put it back where you found it. After you&#8217;ve dropped it, a message will appear at the bottom identifying the item you just dragged and indicating whether it was moved.</p>
<p>You can examine the source code of this <a href="http://www.track-blaster.com/wmbr/sortable.html" target="_blank">sample page</a>, but here&#8217;s some annotations of the important bits. I&#8217;m assuming you&#8217;re familiar with the fabulous <a href="http://www.prototypejs.org/api" target="_blank">Prototype</a> javascript library. Let&#8217;s start at the bottom:</p>
<p><pre><code>
Sortable.create(&#039;testlist&#039;,{
&nbsp;&nbsp;constraint: false,tag: &#039;div&#039;, handle: &#039;moveme&#039;,
&nbsp;&nbsp;reverteffect: moveRevertEffect,
&nbsp;&nbsp;onUpdate: function(element) {&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;element.addClassName(&#039;sortUpdate&#039;);
&nbsp;&nbsp;}
});
</code></pre></p>
<p>This script activates the sortable. The first parameter, &#8220;testlist&#8221; is the id of the object containing all the things you&#8217;ll be dragging. The next parameter is a hash of the various sortable options. The relevant ones to this post are the last two. &#8220;reverteffect: moveRevertEffect&#8221; replaces the standard Scriptaculous reverteffect with a custom one we&#8217;re arbitrarily calling moveRevertEffect. More on this below. &#8220;onUpdate: function(element)&#8230;&#8221; does what I said earlier. onUpdate is only called after you drop an element in a different spot from where it started. If it is called, the class &#8220;sortUpdate&#8221; (another arbitrary name) is added to the parent container (i.e. testlist).</p>
<p>After an element is dropped, and after onUpdate is called (if it is called), the reverteffect kicks in. Let&#8217;s look at that code (from near the top of the sample page):</p>
<p><pre><code>
var moveRevertEffect = 
function(element, top_offset, left_offset) {
&nbsp;&nbsp;var dur = Math.sqrt(Math.abs(top_offset^2) + 
&nbsp;&nbsp;&nbsp;&nbsp;Math.abs(left_offset^2))*0.02;
&nbsp;&nbsp;new Effect.Move(element, { 
&nbsp;&nbsp;&nbsp;&nbsp;x: -left_offset, y: -top_offset, duration: dur,
&nbsp;&nbsp;&nbsp;&nbsp;queue: {scope:&#039;_draggable&#039;, position:&#039;end&#039;}
&nbsp;&nbsp;});&nbsp;&nbsp;
&nbsp;&nbsp;if (element.up().hasClassName(&#039;sortUpdate&#039;)) {
&nbsp;&nbsp;&nbsp;&nbsp;element.up().removeClassName(&#039;sortUpdate&#039;);
&nbsp;&nbsp;&nbsp;&nbsp;$(&#039;whahappened&#039;).innerHTML = element.id + &#039; has been moved&#039;;
&nbsp;&nbsp;} else {
&nbsp;&nbsp;&nbsp;&nbsp;$(&#039;whahappened&#039;).innerHTML = element.id + &#039; has not moved&#039;;
&nbsp;&nbsp;}
}
</code></pre></p>
<p>This custom script creates the new variable that will replace the standard reverteffect. We want to keep the standard effect but then add to it. So the first part of the custom script (the dur and Effect.Move statements) is simply a copy of the standard version found deep in the bowels of Scriptaculous (in the file dragdrop.js). The if statement is our addition. It checks to see if the parent of the dragged element (i.e. testlist) has the class &#8220;sortUpdate&#8221;. If it does, that means the element was moved. The class name is removed and we can run whatever function we like using the dragged element as an argument. If the parent doesn&#8217;t have the &#8220;sortUpdate&#8221; class, that means the element was dropped off where it started. The else clause kicks in and we can run some other function using the dragged element as an argument. In the example, I use a (very) simple function that changes the innerHTML property of the div at the bottom, but you can put anything here including ajax calls or whatever.</p>
<p>And that&#8217;s it. A rather esoteric problem to be sure, but hopefully someone, somewhere, sometime, will find this useful.</p>

<div class="sociable">
<div class="sociable_tagline">
<br /><br /><strong>Socialize Me:</strong><br /><br />
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.wobblymusic.com%2Fblog%2F2009%2F10%2F14%2Fwobbly-tech-tip-2-running-a-function-on-just-the-dragged-element-of-a-script-aculo-us-sortable%2F&amp;t=Wobbly%20Tech%20Tip%20%232%3A%20Running%20a%20function%20on%20just%20the%20dragged%20element%20of%20a%20script.aculo.us%20sortable" title="Facebook"><img src="http://www.wobblymusic.com/blog/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://twitter.com/home?status=Wobbly%20Tech%20Tip%20%232%3A%20Running%20a%20function%20on%20just%20the%20dragged%20element%20of%20a%20script.aculo.us%20sortable%20-%20http%3A%2F%2Fwww.wobblymusic.com%2Fblog%2F2009%2F10%2F14%2Fwobbly-tech-tip-2-running-a-function-on-just-the-dragged-element-of-a-script-aculo-us-sortable%2F" title="Twitter"><img src="http://www.wobblymusic.com/blog/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.wobblymusic.com%2Fblog%2F2009%2F10%2F14%2Fwobbly-tech-tip-2-running-a-function-on-just-the-dragged-element-of-a-script-aculo-us-sortable%2F&amp;title=Wobbly%20Tech%20Tip%20%232%3A%20Running%20a%20function%20on%20just%20the%20dragged%20element%20of%20a%20script.aculo.us%20sortable&amp;source=Wobbly+Music+Lothars+HQ&amp;summary=I%20recently%20implemented%20a%20change%20to%20my%20Track-Blaster%20software%20so%20that%20DJs%20can%20rearrange%20songs%20in%20a%20playlist%20by%20dragging%20and%20dropping%20them%20from%20one%20place%20to%20another.%20To%20do%20this%2C%20I%20incorporate%20the%20wonderful%20Scriptaculous%20javascript%20library.%0D%0A%0D%0AI%27m%20not%20g" title="LinkedIn"><img src="http://www.wobblymusic.com/blog/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.wobblymusic.com%2Fblog%2F2009%2F10%2F14%2Fwobbly-tech-tip-2-running-a-function-on-just-the-dragged-element-of-a-script-aculo-us-sortable%2F&amp;title=Wobbly%20Tech%20Tip%20%232%3A%20Running%20a%20function%20on%20just%20the%20dragged%20element%20of%20a%20script.aculo.us%20sortable&amp;notes=I%20recently%20implemented%20a%20change%20to%20my%20Track-Blaster%20software%20so%20that%20DJs%20can%20rearrange%20songs%20in%20a%20playlist%20by%20dragging%20and%20dropping%20them%20from%20one%20place%20to%20another.%20To%20do%20this%2C%20I%20incorporate%20the%20wonderful%20Scriptaculous%20javascript%20library.%0D%0A%0D%0AI%27m%20not%20g" title="del.icio.us"><img src="http://www.wobblymusic.com/blog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.wobblymusic.com%2Fblog%2F2009%2F10%2F14%2Fwobbly-tech-tip-2-running-a-function-on-just-the-dragged-element-of-a-script-aculo-us-sortable%2F&amp;title=Wobbly%20Tech%20Tip%20%232%3A%20Running%20a%20function%20on%20just%20the%20dragged%20element%20of%20a%20script.aculo.us%20sortable&amp;bodytext=I%20recently%20implemented%20a%20change%20to%20my%20Track-Blaster%20software%20so%20that%20DJs%20can%20rearrange%20songs%20in%20a%20playlist%20by%20dragging%20and%20dropping%20them%20from%20one%20place%20to%20another.%20To%20do%20this%2C%20I%20incorporate%20the%20wonderful%20Scriptaculous%20javascript%20library.%0D%0A%0D%0AI%27m%20not%20g" title="Digg"><img src="http://www.wobblymusic.com/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://slashdot.org/bookmark.pl?title=Wobbly%20Tech%20Tip%20%232%3A%20Running%20a%20function%20on%20just%20the%20dragged%20element%20of%20a%20script.aculo.us%20sortable&amp;url=http%3A%2F%2Fwww.wobblymusic.com%2Fblog%2F2009%2F10%2F14%2Fwobbly-tech-tip-2-running-a-function-on-just-the-dragged-element-of-a-script-aculo-us-sortable%2F" title="Slashdot"><img src="http://www.wobblymusic.com/blog/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fwww.wobblymusic.com%2Fblog%2F2009%2F10%2F14%2Fwobbly-tech-tip-2-running-a-function-on-just-the-dragged-element-of-a-script-aculo-us-sortable%2F" title="Technorati"><img src="http://www.wobblymusic.com/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.wobblymusic.com%2Fblog%2F2009%2F10%2F14%2Fwobbly-tech-tip-2-running-a-function-on-just-the-dragged-element-of-a-script-aculo-us-sortable%2F&amp;title=Wobbly%20Tech%20Tip%20%232%3A%20Running%20a%20function%20on%20just%20the%20dragged%20element%20of%20a%20script.aculo.us%20sortable" title="StumbleUpon"><img src="http://www.wobblymusic.com/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.wobblymusic.com/blog/2009/10/14/wobbly-tech-tip-2-running-a-function-on-just-the-dragged-element-of-a-script-aculo-us-sortable/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Wobbly Tech Tip #1: Extracting Audio from a CD&#8217;s &#8220;Track 0&#8243;</title>
		<link>http://www.wobblymusic.com/blog/2009/09/20/wobbly-tech-tip-1-extracting-audio-from-a-cds-track-0/</link>
		<comments>http://www.wobblymusic.com/blog/2009/09/20/wobbly-tech-tip-1-extracting-audio-from-a-cds-track-0/#comments</comments>
		<pubDate>Sun, 20 Sep 2009 21:48:39 +0000</pubDate>
		<dc:creator>Jon B.</dc:creator>
				<category><![CDATA[Music]]></category>
		<category><![CDATA[Tech Tips]]></category>

		<guid isPermaLink="false">http://www.wobblymusic.com/blog/2009/09/20/wobbly-tech-tip-1-extracting-audio-from-a-cds-track-0/</guid>
		<description><![CDATA[This past week, Dirty Three were my pick for Breakfast of Champions Band of the Week. I thought it would be fun to play a rare pair of songs by them &#8212; songs that appeared as secret bonus tracks of the album Songs In The Key Of X: Music From And Inspired By The X-Files. [...]]]></description>
			<content:encoded><![CDATA[<p>This past week, <a href="http://www.track-blaster.com/wmbr/search.php?field=artist&amp;key=Dirty%20Three" target="_blank">Dirty Three</a> were my pick for <a href="http://wmbr.org/boc" target="_blank">Breakfast of Champions</a> <a href="http://wmbr.org/shows/boc/BotW.php" target="_blank">Band of the Week</a>. I thought it would be fun to play a rare pair of songs by them &#8212; songs that appeared as secret bonus tracks of the album <a href="http://www.amazon.com/gp/product/B000002N3A?ie=UTF8&amp;tag=wobblymusic-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B000002N3A" target="_blank">Songs In The Key Of X: Music From And Inspired By The X-Files</a><img src="http://www.assoc-amazon.com/e/ir?t=wobblymusic-20&amp;l=as2&amp;o=1&amp;a=B000002N3A" style="border: medium none  ! important; margin: 0px ! important" border="0" height="1" width="1" />. Here&#8217;s the deal: If you <u><strong>rewind</strong></u> the CD from the start of track 1, you&#8217;ll find that there&#8217;s an additional 9+ minutes of music hidden away. The first song has Nick Cave reciting some gothy spoken word piece over a reworked version of Dirty Three&#8217;s song &#8220;Better Go Home Now&#8221; that they&#8217;ve retitled &#8220;Time Jesum Transeuntum Et Non Riverentum&#8221; (Dread the Passage of Jesus, For He Will Not Return). The second is Dirty Three&#8217;s interpretation of the X-Files main theme.</p>
<p>While I <em>could </em>have simply rewound the CD in the studio as I was about to play it, I wondered if it would be possible to extract the audio from the original CD and burn a new one where the hidden songs showed up as normal tracks. My existing software was of no help, and I&#8217;ve got some muscular audio programs: Pro Tools, Sound Forge, etc. After some <a href="http://forum.soft32.com/mac/Extract-hidden-CD-audio-ftopict50874.html" target="_blank">mad Thursday night googling</a>, I was able to piece together the following method.</p>
<ol>
<li>Download and install <a href="http://sourceforge.net/projects/cdrdao/" target="_blank">cdrdao</a>. It&#8217;s open source software, so if you&#8217;re a UNIX geek, you can compile it yourself. I use Windows, so I downloaded a <a href="http://fetal.de/cdrdao-1.2.2-binaries-for-windows" target="_blank">pre-compiled binary</a>. All the following steps assume you&#8217;re also using windows.</li>
<li>Pop your X-Files CD into your CD drive.</li>
<li>Open a command window and navigate to the folder that contains the cdrdao program files.</li>
<li>Run the following from the command prompt:
<p><code>cdrdao read-cd --driver generic-mmc-raw --read-subchan rw_raw xfiles.toc</code></p>
<p>If all goes well, this will create two new files in the cdrdao folder. The first, data.bin, contains extracted audio from the entire CD. The second, xfiles.toc, contains information on when the individual tracks start and stop.</li>
<li>Open the file xfiles.toc in notepad, or your favorite text editor. At the bottom of the section for Track 1, you&#8217;ll see a line that reads &#8220;START 09:12:25&#8243;. Change this to &#8220;START 00:00:00&#8243; and save the file.</li>
<li>Now put a blank CD in your CD-R drive and run the following from the same command prompt as before:
<p><code>cdrdao write --speed 16 xfiles.toc</code></p>
<p>If you want to live dangerously, you can leave out the &#8220;&#8211;speed 16&#8243; part. This will allow your CD burner to run at full speed. When I tried this, I got a buffer underrun. Slowing it down to 16x with the extra parameter gave me a successful burn.</li>
<li>Now you have a CD where the two hidden tracks along with the original proper first track are all bunched together on track 1. At this point, you can use almost any audio software to extract and edit track 1 to grab the two hidden tracks. Ta-Da!</li>
</ol>
<p>Note: <a href="http://blowfish.be/eac/Rip/rip11-hidden.html" target="_blank">Further googling</a> has revealed that this might be more easily done with the program <a href="http://exactaudiocopy.de/" target="_blank">EAC</a>.</p>

<div class="sociable">
<div class="sociable_tagline">
<br /><br /><strong>Socialize Me:</strong><br /><br />
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.wobblymusic.com%2Fblog%2F2009%2F09%2F20%2Fwobbly-tech-tip-1-extracting-audio-from-a-cds-track-0%2F&amp;t=Wobbly%20Tech%20Tip%20%231%3A%20Extracting%20Audio%20from%20a%20CD%27s%20%22Track%200%22" title="Facebook"><img src="http://www.wobblymusic.com/blog/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://twitter.com/home?status=Wobbly%20Tech%20Tip%20%231%3A%20Extracting%20Audio%20from%20a%20CD%27s%20%22Track%200%22%20-%20http%3A%2F%2Fwww.wobblymusic.com%2Fblog%2F2009%2F09%2F20%2Fwobbly-tech-tip-1-extracting-audio-from-a-cds-track-0%2F" title="Twitter"><img src="http://www.wobblymusic.com/blog/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.wobblymusic.com%2Fblog%2F2009%2F09%2F20%2Fwobbly-tech-tip-1-extracting-audio-from-a-cds-track-0%2F&amp;title=Wobbly%20Tech%20Tip%20%231%3A%20Extracting%20Audio%20from%20a%20CD%27s%20%22Track%200%22&amp;source=Wobbly+Music+Lothars+HQ&amp;summary=This%20past%20week%2C%20Dirty%20Three%20were%20my%20pick%20for%20Breakfast%20of%20Champions%20Band%20of%20the%20Week.%20I%20thought%20it%20would%20be%20fun%20to%20play%20a%20rare%20pair%20of%20songs%20by%20them%20--%20songs%20that%20appeared%20as%20secret%20bonus%20tracks%20of%20the%20album%20Songs%20In%20The%20Key%20Of%20X%3A%20Music%20From%20And%20Insp" title="LinkedIn"><img src="http://www.wobblymusic.com/blog/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.wobblymusic.com%2Fblog%2F2009%2F09%2F20%2Fwobbly-tech-tip-1-extracting-audio-from-a-cds-track-0%2F&amp;title=Wobbly%20Tech%20Tip%20%231%3A%20Extracting%20Audio%20from%20a%20CD%27s%20%22Track%200%22&amp;notes=This%20past%20week%2C%20Dirty%20Three%20were%20my%20pick%20for%20Breakfast%20of%20Champions%20Band%20of%20the%20Week.%20I%20thought%20it%20would%20be%20fun%20to%20play%20a%20rare%20pair%20of%20songs%20by%20them%20--%20songs%20that%20appeared%20as%20secret%20bonus%20tracks%20of%20the%20album%20Songs%20In%20The%20Key%20Of%20X%3A%20Music%20From%20And%20Insp" title="del.icio.us"><img src="http://www.wobblymusic.com/blog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.wobblymusic.com%2Fblog%2F2009%2F09%2F20%2Fwobbly-tech-tip-1-extracting-audio-from-a-cds-track-0%2F&amp;title=Wobbly%20Tech%20Tip%20%231%3A%20Extracting%20Audio%20from%20a%20CD%27s%20%22Track%200%22&amp;bodytext=This%20past%20week%2C%20Dirty%20Three%20were%20my%20pick%20for%20Breakfast%20of%20Champions%20Band%20of%20the%20Week.%20I%20thought%20it%20would%20be%20fun%20to%20play%20a%20rare%20pair%20of%20songs%20by%20them%20--%20songs%20that%20appeared%20as%20secret%20bonus%20tracks%20of%20the%20album%20Songs%20In%20The%20Key%20Of%20X%3A%20Music%20From%20And%20Insp" title="Digg"><img src="http://www.wobblymusic.com/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://slashdot.org/bookmark.pl?title=Wobbly%20Tech%20Tip%20%231%3A%20Extracting%20Audio%20from%20a%20CD%27s%20%22Track%200%22&amp;url=http%3A%2F%2Fwww.wobblymusic.com%2Fblog%2F2009%2F09%2F20%2Fwobbly-tech-tip-1-extracting-audio-from-a-cds-track-0%2F" title="Slashdot"><img src="http://www.wobblymusic.com/blog/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fwww.wobblymusic.com%2Fblog%2F2009%2F09%2F20%2Fwobbly-tech-tip-1-extracting-audio-from-a-cds-track-0%2F" title="Technorati"><img src="http://www.wobblymusic.com/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.wobblymusic.com%2Fblog%2F2009%2F09%2F20%2Fwobbly-tech-tip-1-extracting-audio-from-a-cds-track-0%2F&amp;title=Wobbly%20Tech%20Tip%20%231%3A%20Extracting%20Audio%20from%20a%20CD%27s%20%22Track%200%22" title="StumbleUpon"><img src="http://www.wobblymusic.com/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.wobblymusic.com/blog/2009/09/20/wobbly-tech-tip-1-extracting-audio-from-a-cds-track-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
