<?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>Roll Over &#187; How-To</title>
	<atom:link href="http://fatlabmusic.com/blog/category/how-to/feed/" rel="self" type="application/rss+xml" />
	<link>http://fatlabmusic.com/blog</link>
	<description>The FatLab Music Blog</description>
	<lastBuildDate>Tue, 21 Feb 2012 14:00:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Duh, Use Bluetooth Speakers to Act Like Airfoil for iPhone</title>
		<link>http://fatlabmusic.com/blog/2010/07/02/duh-use-bluetooth-speakers-to-act-like-airfoil-for-iphone/</link>
		<comments>http://fatlabmusic.com/blog/2010/07/02/duh-use-bluetooth-speakers-to-act-like-airfoil-for-iphone/#comments</comments>
		<pubDate>Fri, 02 Jul 2010 21:20:16 +0000</pubDate>
		<dc:creator>brent</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[How-To]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://fatlabmusic.com/blog/?p=363</guid>
		<description><![CDATA[(not exactly Airfoil for iPhone &#8212; similar, only without the Wi-Fi.) I&#8217;ve posted a few times about ways to use iPhones with Rogue Amoeba&#8217;s desktop app &#8220;Airfoil&#8221; and iTunes streaming. There&#8217;s no great (or official) solution yet for wi-fi audio streaming from an iPhone &#8212; but there is definitely plenty of interest still. This blog&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>(not exactly Airfoil for iPhone &#8212; similar, only without the Wi-Fi.)</p>
<p>I&#8217;ve posted a <a href="http://fatlabmusic.com/blog/2009/04/18/airfoil-speakers-touch-released-for-iphone-and-ipod-touch/">few</a> <a href="http://fatlabmusic.com/blog/2008/08/13/itunes-airfoil-airfoil-speakers-iphone-remote-app-heaven/">times</a> about ways to use iPhones with Rogue Amoeba&#8217;s desktop app &#8220;Airfoil&#8221; and iTunes streaming. </p>
<p>There&#8217;s no great (or official) solution yet for wi-fi audio streaming from an iPhone &#8212; but there is definitely plenty of interest still.  This blog&#8217;s top keyword searches continue to be &#8220;airfoil iphone&#8221;, &#8220;airfoil for iphone&#8221;, and &#8220;airfoil iphone app&#8221;.  Until just a bit ago, I totally forgot that Bluetooth was an option.</p>
<p>I haven&#8217;t tried any of these devices, but the reviews seem to imply they work well.</p>
<p><script charset="utf-8" type="text/javascript" src="http://ws.amazon.com/widgets/q?ServiceVersion=20070822&#038;MarketPlace=US&#038;ID=V20070822/US/fatlabmusic-20/8001/c0b569b7-c01e-4461-b48b-852bb12bf2ff"> </script> <noscript><a HREF="http://ws.amazon.com/widgets/q?ServiceVersion=20070822&#038;MarketPlace=US&#038;ID=V20070822%2FUS%2Ffatlabmusic-20%2F8001%2Fc0b569b7-c01e-4461-b48b-852bb12bf2ff&#038;Operation=NoScript">Amazon.com Widgets</a></noscript></p>
]]></content:encoded>
			<wfw:commentRss>http://fatlabmusic.com/blog/2010/07/02/duh-use-bluetooth-speakers-to-act-like-airfoil-for-iphone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to disable Ableton Live ReWire in DP7</title>
		<link>http://fatlabmusic.com/blog/2010/02/07/how-to-disable-ableton-live-rewire-in-dp7/</link>
		<comments>http://fatlabmusic.com/blog/2010/02/07/how-to-disable-ableton-live-rewire-in-dp7/#comments</comments>
		<pubDate>Sun, 07 Feb 2010 21:26:10 +0000</pubDate>
		<dc:creator>brent</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Digital Performer]]></category>
		<category><![CDATA[How-To]]></category>
		<category><![CDATA[Sibelius]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://fatlabmusic.com/blog/?p=352</guid>
		<description><![CDATA[I&#8217;ve been configuring a new audio workstation, and I found that my Reason and Sibelius ReWire audio inputs wouldn&#8217;t work in MOTU Digital Performer 7 like they do on our other workstation. I spent the first part of 4 hours trying to decipher whether the problem was with Sibelius&#8217; config or DP&#8217;s, only to realize [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been configuring a new audio workstation, and I found that my Reason and Sibelius ReWire audio inputs wouldn&#8217;t work in MOTU Digital Performer 7 like they do on our other workstation.  I spent the first part of 4 hours trying to decipher whether the problem was with Sibelius&#8217; config or DP&#8217;s, only to realize that I hadn&#8217;t disabled Ableton Live&#8217;s ReWire slave mode and inputs on this new workstation.</p>
<p>I&#8217;m not sure the problem is necessarily with Live, but perhaps with DP having to handle so many ReWire inputs &#8212; maybe DP (or ReWire) has a 128 channel limit?  At least on Snow Leopard 10.6.2 with Digital Performer 7.02 and Live 8.1.1, DP couldn&#8217;t handle adding Live&#8217;s additional 64 inputs to my existing 64 Reason inputs, 2 Sibelius inputs, and 2 Waves inputs.  Note: the Live inputs were not even assigned to a DP input (no rows and no chicklets).  Just having Live&#8217;s inputs *available* in DP prevented both Reason and Sibelius from passing ReWire audio into DP.</p>
<p>I generally use Live as a standalone DAW, so I don&#8217;t need these ReWire inputs in DP.  But it&#8217;s not immediately obvious how to disable them, and it took me the rest of the 4 hours trying to get DP to forget about Live&#8217;s ReWire channels.  Turns out It&#8217;s stupid-simple.  It boils down to setting one preference in Live&#8217;s <strong>Options.txt</strong> file and then deleting two aliases from two different Mac OS X Library folders.</p>
<p class="notice">NOTE: Doing the steps below prevents Live from entering ReWire slave mode for all apps.  It also completely removes the inputs from Digital Performer&#8217;s Bundles > Instruments window.  I don&#8217;t know what else it might do &#8212; proceed at your own risk.  :)</p>
<p><strong>To disable Ableton Live&#8217;s ReWire slave mode and remove the inputs in MOTU Digital Performer:</strong></p>
<ol>
<li>Quit both DP and Live if either are open.</li>
<li>Edit (or create) your current &#8220;Options.txt&#8221; file for Live, according to <a href="http://www.ableton.com/pages/faq/options_text" target="_blank">Ableton&#8217;s FAQ page</a>.  Add the (undocumented) flag <code>-ReWireSlaveOff</code>.  Setting this flag tells Live not to undo what you are going to do in step 4.</li>
<li>Save and close Options.txt.</li>
<li>Navigate to /Library/Application Support/ (that is, your top-level Library folder) and trash the alias named &#8220;Ableton Live Engine.bundle&#8221;.  Navigate to ~/Library/Application Support/ (this one is the Library in your Home folder) and do the same thing to that &#8220;Ableton Live Engine.bundle&#8221; alias.</li>
<li>Empty the trash for good measure.</li>
<li>Relaunch DP and verify that the Ableton Live channels are gone from the Bundles > Instruments tab.</li>
</ol>
<p>DP&#8217;s VI Instrument Bundles have been a little fickle since v6, so this all may be the result of some bug in DP, or I may be hitting some limitation of ReWire 1.7, or it may be something in Live&#8217;s implementation of ReWire.  It is curious that every other audio app I have besides Live places a .bundle file in /Library/Application Support/Propellerhead Software/ReWire/ to register their outputs.</p>
<p>Why does Live just stick a lonely alias at the top-level of Application Support?  Why doesn&#8217;t the file say &#8220;ReWire&#8221; in the filename like others do?  Maybe there is more to that &#8220;Ableton Live Engine.bundle&#8221; alias than just publishing ReWire outputs. But Live reinstates the alias only when the -ReWireSlaveOff flag is gone from Options.txt. So as long as Live doesn&#8217;t repair the alias when -ReWireSlaveOff *is* present, I&#8217;d say we&#8217;re safe.</p>
<p>What originally started as a quest to fix broken ReWire audio between Sibelius and DP became instead about how DP and Live were working together (or not working together).</p>
<p>Deleting Live&#8217;s ReWire inputs from Digital Performer restored ReWire audio from Sibelius and Reason both.  I hope that saves you some time.</p>
]]></content:encoded>
			<wfw:commentRss>http://fatlabmusic.com/blog/2010/02/07/how-to-disable-ableton-live-rewire-in-dp7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How-to Fix WP HTTP Error: name lookup timed out</title>
		<link>http://fatlabmusic.com/blog/2009/08/12/how-to-fix-wp-http-error-name-lookup-timed-out/</link>
		<comments>http://fatlabmusic.com/blog/2009/08/12/how-to-fix-wp-http-error-name-lookup-timed-out/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 20:10:51 +0000</pubDate>
		<dc:creator>brent</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://fatlabmusic.com/blog/?p=300</guid>
		<description><![CDATA[This blog and the Snowferno site both run WordPress on separate but identically-equipped Lunarpages servers. When I went to apply today&#8217;s WordPress 2.8.4 upgrade, one install was giving me &#8220;WP HTTP Error: name lookup timed out&#8221; messages and no upgrade button, while the other worked just fine. There are some workarounds detailed on the WordPress [...]]]></description>
			<content:encoded><![CDATA[<p>This blog and the Snowferno site both run WordPress on separate but identically-equipped Lunarpages servers.  When I went to apply today&#8217;s WordPress 2.8.4 upgrade, one install was giving me &#8220;WP HTTP Error: name lookup timed out&#8221; messages and no upgrade button, while the other worked just fine.  There are some workarounds detailed on the WordPress support site, but I wasn&#8217;t happy having to disable cURL on one host and not the other.  It had to be something else&#8230;</p>
<p>The problem for me was caused by lines 1276-1277 of the WP_Http_Curl request() method in wp-includes/http.php:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1276
1277
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$handle</span><span style="color: #339933;">,</span> CURLOPT_CONNECTTIMEOUT<span style="color: #339933;">,</span> <span style="color: #000088;">$r</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'timeout'</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$handle</span><span style="color: #339933;">,</span> CURLOPT_TIMEOUT<span style="color: #339933;">,</span> <span style="color: #000088;">$r</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'timeout'</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>I commented those lines out and threw in a line of debug code on line 1325 (after the curl_exec call)</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1325
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">print_r</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">curl_getinfo</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$handle</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>and tested the cURL transport using <a href="http://wordpress.org/extend/plugins/core-control/">Core Control</a>.  I found that my requests were simply taking longer than the timeout provided.  I don&#8217;t know quite why, except to guess that one server must be just more swamped than the other.</p>
<p><a href="http://snowferno.com/" title="Buy Snowferno. $1.99 on the App Store" onclick="pageTracker._trackPageview('/bannerads/snowferno/snowferno_banner_1_468x60.png');"><img style="border:1px solid #aaa" src="http://fatlabmusic.com/images/snowferno_banner_1_468x60.png" title="Buy Snowferno. $1.99 on the App Store" alt="Buy Snowferno. $1.99 on the App Store" /></a><br />
I fixed it by building myself a little plugin that adds an action for the <code>'http_api_curl'</code> action called on line 1315.</p>
<p>After enabling this fix, WP showed the 2.8.4 upgrade button on the Dashboard page, but the WordPress Development Blog and Plugins RSS feed boxes still showed timeout errors.  So, I looked further and found a filter that catches and can modify <code>$r['timeout']</code> in the WP_Http request() method on line 237.</p>
<p>Here is my barebones plugin code, which overrides all timeouts to a massive 15 seconds:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//adjustments to wp-includes/http.php timeout values to workaround slow server responses</span>
add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'http_request_args'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'bal_http_request_args'</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">100</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">function</span> bal_http_request_args<span style="color: #009900;">&#40;</span><span style="color: #000088;">$r</span><span style="color: #009900;">&#41;</span> <span style="color: #666666; font-style: italic;">//called on line 237</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$r</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'timeout'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">15</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$r</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
add_action<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'http_api_curl'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'bal_http_api_curl'</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">100</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">function</span> bal_http_api_curl<span style="color: #009900;">&#40;</span><span style="color: #000088;">$handle</span><span style="color: #009900;">&#41;</span> <span style="color: #666666; font-style: italic;">//called on line 1315</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$handle</span><span style="color: #339933;">,</span> CURLOPT_CONNECTTIMEOUT<span style="color: #339933;">,</span> <span style="color: #cc66cc;">15</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$handle</span><span style="color: #339933;">,</span> CURLOPT_TIMEOUT<span style="color: #339933;">,</span> <span style="color: #cc66cc;">15</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>I recommend you make sure this does not cause any other issues for your WP install.  If you know how to make this code into a plugin, then you are capable enuf to be responsible for any adverse fallout.  :)  I only know this solved my immediate problem while still maintaining cURL functionality.</p>
]]></content:encoded>
			<wfw:commentRss>http://fatlabmusic.com/blog/2009/08/12/how-to-fix-wp-http-error-name-lookup-timed-out/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>A few fixes for Podcasting plugin feed validation errors</title>
		<link>http://fatlabmusic.com/blog/2009/01/27/a-few-fixes-for-podcasting-plugin-feed-validation-errors/</link>
		<comments>http://fatlabmusic.com/blog/2009/01/27/a-few-fixes-for-podcasting-plugin-feed-validation-errors/#comments</comments>
		<pubDate>Tue, 27 Jan 2009 18:46:58 +0000</pubDate>
		<dc:creator>brent</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://fatlabmusic.com/blog/?p=246</guid>
		<description><![CDATA[I just got a Feedburner warning that my podcast feed was invalid. I was also getting quite a few Feed Validator errors, but nothing I could fix in Podcasting&#8217;s settings or trace to bugs in the plugin code. Evidently, some versions ago, Podcasting stored a few odd values in my WP database that had to [...]]]></description>
			<content:encoded><![CDATA[<p>I just got a Feedburner warning that my <a href="http://feeds2.feedburner.com/rollover-music">podcast feed</a> was invalid.  I was also getting quite a few <a href="http://feedvalidator.org">Feed Validator</a> errors, but nothing I could fix in Podcasting&#8217;s settings or trace to bugs in the plugin code.  Evidently, some versions ago, Podcasting stored a few odd values in my WP database that had to be manually corrected.  Here&#8217;s how I fixed them.</p>
<p>Check your feed&#8217;s <code>&lt;itunes:name&gt;</code> and <code>&lt;itunes:email&gt;</code> values and make sure they are not reversed. Mine were.  So just find your &#8220;pod_itunes_ownername&#8221; and &#8220;pod_itunes_owneremail&#8221; values in your &#8220;wp_postmeta&#8221; table and edit them.</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">SELECT</span> <span style="color: #CC0099;">*</span> 
<span style="color: #990099; font-weight: bold;">FROM</span>  <span style="color: #008000;">`wp<span style="color: #008080; font-weight: bold;">_</span>options`</span> 
<span style="color: #990099; font-weight: bold;">WHERE</span>  <span style="color: #008000;">`option<span style="color: #008080; font-weight: bold;">_</span>name`</span> <span style="color: #CC0099; font-weight: bold;">LIKE</span> <span style="color: #008000;">'pod<span style="color: #008080; font-weight: bold;">_</span>itunes<span style="color: #008080; font-weight: bold;">_</span>owner<span style="color: #008080; font-weight: bold;">%</span>'</span></pre></div></div>

<p>Second, a bunch of my posts&#8217; &#8220;explicit&#8221; values were stored as &#8220;default&#8221; instead of the correct &#8220;&#8221; (empty string).  iTunes only allows &#8220;no&#8221;, &#8220;yes&#8221;, and &#8220;clean&#8221; for <code>&lt;itunes:explicit&gt;</code>, and Podcasting didn&#8217;t translate &#8220;default&#8221; into anything, so you gotta fixup these posts:</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">SELECT</span> <span style="color: #CC0099;">*</span> <span style="color: #990099; font-weight: bold;">FROM</span> <span style="color: #008000;">`wp<span style="color: #008080; font-weight: bold;">_</span>postmeta`</span>
<span style="color: #990099; font-weight: bold;">WHERE</span>
     <span style="color: #008000;">`meta<span style="color: #008080; font-weight: bold;">_</span>key`</span> <span style="color: #CC0099;">=</span> <span style="color: #008000;">'enclosure'</span> <span style="color: #CC0099; font-weight: bold;">and</span>
     <span style="color: #008000;">`meta<span style="color: #008080; font-weight: bold;">_</span>value`</span> <span style="color: #CC0099; font-weight: bold;">like</span> <span style="color: #008000;">'<span style="color: #008080; font-weight: bold;">%</span>s:8:&quot;explicit&quot;;s:7:&quot;default&quot;;<span style="color: #008080; font-weight: bold;">%</span>'</span></pre></div></div>

<p>&#8230; and after making sure your database is backed up and all that, just run this query to update them:</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">UPDATE</span> <span style="color: #008000;">`wp<span style="color: #008080; font-weight: bold;">_</span>postmeta`</span>
<span style="color: #990099; font-weight: bold;">SET</span> <span style="color: #008000;">`meta<span style="color: #008080; font-weight: bold;">_</span>value`</span> <span style="color: #CC0099;">=</span> <span style="color: #000099;">replace</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008000;">`meta<span style="color: #008080; font-weight: bold;">_</span>value`</span><span style="color: #000033;">,</span> <span style="color: #008000;">'s:8:&quot;explicit&quot;;s:7:&quot;default&quot;;'</span><span style="color: #000033;">,</span> <span style="color: #008000;">'s:8:&quot;explicit&quot;;s:0:&quot;&quot;;'</span><span style="color: #FF00FF;">&#41;</span>
<span style="color: #990099; font-weight: bold;">WHERE</span>
     <span style="color: #008000;">`meta<span style="color: #008080; font-weight: bold;">_</span>key`</span> <span style="color: #CC0099;">=</span> <span style="color: #008000;">'enclosure'</span> <span style="color: #CC0099; font-weight: bold;">and</span>
     <span style="color: #008000;">`meta<span style="color: #008080; font-weight: bold;">_</span>value`</span> <span style="color: #CC0099; font-weight: bold;">like</span> <span style="color: #008000;">'<span style="color: #008080; font-weight: bold;">%</span>s:8:&quot;explicit&quot;;s:7:&quot;default&quot;;<span style="color: #008080; font-weight: bold;">%</span>'</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://fatlabmusic.com/blog/2009/01/27/a-few-fixes-for-podcasting-plugin-feed-validation-errors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How-to modify jQuery Lightbox Plugin to use Image Sets</title>
		<link>http://fatlabmusic.com/blog/2009/01/07/how-to-modify-jquery-lightbox-plugin-to-use-image-sets/</link>
		<comments>http://fatlabmusic.com/blog/2009/01/07/how-to-modify-jquery-lightbox-plugin-to-use-image-sets/#comments</comments>
		<pubDate>Wed, 07 Jan 2009 20:42:13 +0000</pubDate>
		<dc:creator>brent</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://fatlabmusic.com/blog/?p=238</guid>
		<description><![CDATA[By adding one IF statement, jQuery lightbox plugin can be modified to support the image set feature of Lightbox 2.]]></description>
			<content:encoded><![CDATA[<p><ins datetime="2009-02-16T16:23:43+00:00">UPDATE (2/16/09): Another <a href="http://github.com/krewenki/jquery-lightbox/">jQuery Lightbox plugin</a> exists that supports imagesets by default.  I am using the newer plugin now and recommend everyone do the same.</ins></p>
<ul>
<li>Both releases were at version 0.5, so I thought they were the same.  Looking closer at the changelogs, I found this new one by <a href="http://warren.mesozen.com/">Warren Krewenki</a> to be better maintained and supports imagesets without hacking.</li>
<li><strong>NOTE:</strong> My modification below only applies to the <a href="http://leandrovieira.com/projects/jquery/lightbox/">Leandro Vieira Pinho</a> version.</li>
<li>Be aware that Krewenki&#8217;s Lightbox function is called <code>lightbox</code>, all lowercase.  Pinho&#8217;s was camelcased as <code>lightBox</code>.  In addition to pointing to the filenames of Krewenki&#8217;s new .js and .css files, your initializing function needs to be updated to all lowercase. Most settings don&#8217;t carryover either between the two jQuery plugs &#8212; although Krewenki&#8217;s match to the original Lightbox better &#8212; so verify those, too.</li>
</ul>
<p><a href="http://snowferno.com/" title="Buy Snowferno. $1.99 on the App Store" onclick="pageTracker._trackPageview('/bannerads/snowferno/snowferno_banner_1_468x60.png');"><img style="border:1px solid #aaa" src="http://fatlabmusic.com/images/snowferno_banner_1_468x60.png" title="Buy Snowferno. $1.99 on the App Store" alt="Buy Snowferno. $1.99 on the App Store" /></a><br />
<ins datetime="2009-02-16T16:23:43+00:00">ORIGINAL POST:</ins><br />
I use the very popular <a href="http://www.lokeshdhakar.com/projects/lightbox2/">Lightbox 2</a> script in places on this site, which is built upon the Javascript framework Prototype and script.aculo.us library.  But, I also love the Javascript image gallery <a href="http://devkick.com/lab/galleria/">Galleria</a> which requires jQuery.  I don&#8217;t want to load both frameworks all the time, so I was happy to find a jQuery port of Lightbox called <a href="http://leandrovieira.com/projects/jquery/lightbox/">jQuery lightbox plugin</a>.</p>
<p>The HTML syntax is almost identical between the two lightbox scripts, so I don&#8217;t have to recode any IMG tags.  However, version 0.5 of the jQuery lightbox plugin does not recognize Lightbox 2 image sets (a group name between square brackets in the rel attribute).</p>
<p>By adding one IF statement to jquery.lightbox-0.5.js, jQuery lightbox plugin can gain this feature.  The code below should replace lines 79-82.</p>
<h4>jquery.lightbox-0.5-modified.js</h4>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>79
80
81
82
83
84
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">// Add an Array (as many as we have that match the objClicked 'rel' attr), with href and title atributes, inside the Array that storage the images references		</span>
<span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span> <span style="color: #003366; font-weight: bold;">var</span> i <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> jQueryMatchedObj.<span style="color: #660066;">length</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>jQueryMatchedObj<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">getAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'rel'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">==</span>objClicked.<span style="color: #660066;">getAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'rel'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		settings.<span style="color: #660066;">imageArray</span>.<span style="color: #660066;">push</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">new</span> Array<span style="color: #009900;">&#40;</span>jQueryMatchedObj<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">getAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'href'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>jQueryMatchedObj<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">getAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'title'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Line 81 in the above code is the key.  The matching elements passed in the jQuery object get added to the image array only if their &#8216;rel&#8217; attributes match the initial &#8216;rel&#8217; attribute of <code>objClicked</code>.</p>
<p>Then, your initializing function should read like this:</p>
<h4>your-image-page.html</h4>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #006600; font-style: italic;">// Select all links whose attribute rel starts with lightbox</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'a[rel^=lightbox]'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">lightBox</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Note the caret character after &#8216;rel&#8217;, which matches all elements having the &#8216;rel&#8217; attribute and values *beginning* with &#8216;lightbox&#8217;.  Also, jQuery&#8217;s Selector API documentation says that the &#8220;@&#8221; before the attribute name has been deprecated as of v1.2.  See more under the <a href="http://docs.jquery.com/Selectors">&#8220;Selectors > Attribute Filters&#8221;</a> section of jQuery documentation.</p>
<p>Maybe there is a more elegant way to compare elements that doesn&#8217;t require matching the &#8216;rel&#8217; attributes. But, to retain the same HTML syntax for those converting from the Prototype/script.aculo.us script to jQuery plugin, this hack will do nicely.</p>
]]></content:encoded>
			<wfw:commentRss>http://fatlabmusic.com/blog/2009/01/07/how-to-modify-jquery-lightbox-plugin-to-use-image-sets/feed/</wfw:commentRss>
		<slash:comments>33</slash:comments>
		</item>
		<item>
		<title>iPhone Remote app + Airfoil + Airfoil Speakers = iTunes Heaven (UPDATED with AirPlay details)</title>
		<link>http://fatlabmusic.com/blog/2008/08/13/itunes-airfoil-airfoil-speakers-iphone-remote-app-heaven/</link>
		<comments>http://fatlabmusic.com/blog/2008/08/13/itunes-airfoil-airfoil-speakers-iphone-remote-app-heaven/#comments</comments>
		<pubDate>Thu, 14 Aug 2008 02:00:47 +0000</pubDate>
		<dc:creator>brent</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[How-To]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://fatlabmusic.com/blog/?p=161</guid>
		<description><![CDATA[(UPDATED 9/1/10: Apple introduced AirPlay today, the next incarnation of AirTunes wireless media streaming. iPhone, iPad, and iPod touch running iOS 4.2+ can wirelessly streaming of audio, video, and photos to Apple TV as well as other AirPlay-compatible hardware receivers.) My iTunes library lives on our laptop, but I&#8217;m often on our other &#8220;big&#8221; computer [...]]]></description>
			<content:encoded><![CDATA[<p>(UPDATED 9/1/10: Apple introduced <a href="http://www.apple.com/itunes/airplay/">AirPlay</a> today, the next incarnation of AirTunes wireless media streaming.  iPhone, iPad, and iPod touch running iOS 4.2+ can wirelessly streaming of audio, video, and photos to Apple TV as well as other AirPlay-compatible hardware receivers.)</p>
<p>My iTunes library lives on our laptop, but I&#8217;m often on our other &#8220;big&#8221; computer and want to listen to those tunes. I could stream between iTuneses, but I want this listening to count &#8212; i.e. increment play counts, let me change star ratings, etc.  You can&#8217;t do that with iTunes streaming.</p>
<p>But now, with 2 computers, a wireless network, an iPhone running OS 2.0+, four cross-platform apps (3 of which are free), and a little scotch tape, my dream is possible.</p>
<ol>
<li>You&#8217;ll need the following apps: <a href="http://www.apple.com/itunes/">iTunes</a>, Rogue Amoeba&#8217;s <a href="http://rogueamoeba.com/airfoil/">Airfoil</a> ($25), their companion app <a href="http://www.rogueamoeba.com/airfoil/speakers.php">Airfoil Speakers</a>, and Apple&#8217;s <a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=284417350&#038;mt=8">Remote</a> for iPhone</li>
<li>Open Airfoil Speakers on the destination computer.</li>
<li>Open Airfoil on the source computer and select &#8220;iTunes&#8221; from the source list.</li>
<li>In Airfoil, activate the connection to the Airfoil Speakers computer.  (iTunes will launch or relaunch, and Airfoil will establish a digital link to the destination.)</li>
<li>Get your iPhone on your Wi-Fi network</li>
<li>Open Remote, select a tune, and press play!</li>
</ol>
<p>< ?php if (function_exists('dfrads')) { echo dfrads('1327167'); } ?></p>
]]></content:encoded>
			<wfw:commentRss>http://fatlabmusic.com/blog/2008/08/13/itunes-airfoil-airfoil-speakers-iphone-remote-app-heaven/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Fixing the Music Store country settings in Front Row</title>
		<link>http://fatlabmusic.com/blog/2008/01/16/fixing-the-music-store-country-settings-in-front-row/</link>
		<comments>http://fatlabmusic.com/blog/2008/01/16/fixing-the-music-store-country-settings-in-front-row/#comments</comments>
		<pubDate>Wed, 16 Jan 2008 17:02:33 +0000</pubDate>
		<dc:creator>brent</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[How-To]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://fatlabmusic.com/blog/2008/01/16/fixing-the-music-store-country-settings-in-front-row/</guid>
		<description><![CDATA[Front Row had decided to show me Germany&#8217;s &#8220;Top-Titel&#8221; and &#8220;Top Musikvideos&#8221; under the Music menu. Somehow the Front Row preferences stopped matching the iTunes Music Store country settings. Deleting Front Row&#8217;s preferences and caches didn&#8217;t do the trick, it only started a roulette game in which Front Row randomly sent me to another country. [...]]]></description>
			<content:encoded><![CDATA[<p>Front Row had decided to show me Germany&#8217;s &#8220;Top-Titel&#8221; and &#8220;Top Musikvideos&#8221; under the Music menu.  Somehow the Front Row preferences stopped matching the iTunes Music Store country settings.  Deleting Front Row&#8217;s preferences and caches didn&#8217;t do the trick, it only started a roulette game in which Front Row randomly sent me to another country.  I got Japan next.  Fun, but what if you want to fix it?</p>
<p>The solution is to edit Front Row&#8217;s preferences.  Open this file in Property List Editor:<br />
~/Library/Preferences/com.apple.frontrow.plist</p>
<p>Expand &#8220;Root&#8221; and edit the MusicStoreFrontID value to 143441 for US.  Save and close, and Front Row will see the change on the next launch. </p>
<p>Naturally, it doesn&#8217;t have to be the US.  Maybe you&#8217;re bored with the domestic Top 40?  For other country values, visit the <a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/countrySelectorPage">country selector page</a> in iTunes.  Ctrl-click on a country, choose &#8220;Copy iTunes Store URL&#8221;, and paste that into a text editor.  Find the &#8220;storeFrontId&#8221; value at the end of the URL and use that as your MusicStoreFrontID.</p>
]]></content:encoded>
			<wfw:commentRss>http://fatlabmusic.com/blog/2008/01/16/fixing-the-music-store-country-settings-in-front-row/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

<!-- Served from: fatlabmusic.com @ 2012-05-23 14:27:55 by W3 Total Cache -->
