<?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>chrishowie.com &#187; OpenVP</title>
	<atom:link href="http://www.chrishowie.com/category/computer/openvp/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.chrishowie.com</link>
	<description>The best laid plans are in my other pants</description>
	<lastBuildDate>Tue, 15 Nov 2011 20:20:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>OpenVP has landed</title>
		<link>http://www.chrishowie.com/2010/08/20/openvp-has-landed/</link>
		<comments>http://www.chrishowie.com/2010/08/20/openvp-has-landed/#comments</comments>
		<pubDate>Fri, 20 Aug 2010 17:53:26 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Banshee]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[OpenVP]]></category>

		<guid isPermaLink="false">http://www.chrishowie.com/?p=430</guid>
		<description><![CDATA[Well, if you&#8217;ve been waiting for some kind of stable release of OpenVP for Banshee, you will love this. OpenVP is part of the Banshee Community Extensions 1.7.4 release! Go get it, and be sure to file any bugs you come across.]]></description>
			<content:encoded><![CDATA[<p>Well, if you&#8217;ve been waiting for some kind of stable release of OpenVP for Banshee, you will love this.  <a href="http://mail.gnome.org/archives/banshee-list/2010-August/msg00072.html">OpenVP is part of the Banshee Community Extensions 1.7.4 release!</a>  <a href="http://download.banshee.fm/banshee-community-extensions/1.7.4/">Go get it</a>, and be sure to <a href="http://code.google.com/p/openvisualizationplatform/issues/list">file any bugs</a> you come across.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chrishowie.com/2010/08/20/openvp-has-landed/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Yet another monolithic update</title>
		<link>http://www.chrishowie.com/2009/09/02/yet-another-monolithic-update/</link>
		<comments>http://www.chrishowie.com/2009/09/02/yet-another-monolithic-update/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 17:50:59 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[OpenVP]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.chrishowie.com/?p=309</guid>
		<description><![CDATA[I need to get into the habit of blogging more often. I haven&#8217;t even been twittering much lately&#8230; You&#8217;ve probably noticed the visual update to my blog by now. I got tired of the default WordPress theme. I had to tweak this one a bit to get it to behave the way I want, but [...]]]></description>
			<content:encoded><![CDATA[<p>I need to get into the habit of blogging more often.  I haven&#8217;t even been twittering much lately&#8230;</p>
<p>You&#8217;ve probably noticed the visual update to my blog by now.  I got tired of the default WordPress theme.  I had to tweak this one a bit to get it to behave the way I want, but overall it&#8217;s pretty nice.  A few weeks ago I added the live chat widget as well, which so far has attracted comments from exactly two people.  Come on, I know there&#8217;s more of you out there!</p>
<p>My new job is going well.  The current project I&#8217;m working on is a migration script to fix some datetimes that may have been incorrectly converted to GMT.  If you&#8217;ve done any programming around timezone conversions, you&#8217;ll know it&#8217;s a <i>blast!</i>  &#8230; Ok, it&#8217;s not that bad.  It&#8217;s actually kind of fun, in a weird way.</p>
<p>On the &#8220;my projects&#8221; front, I&#8217;ve converted the OpenVP Subversion repository to two separate Git repositories, and created a third for the metadata pipeline project.  Check them out on <a href="http://gitorious.org/openvp">Gitorious</a>.</p>
<p>I&#8217;ve started playing <a href="http://en.wikipedia.org/wiki/Black_&#038;_White_%28video_game%29">Black &#038; White</a> on my lunch break.  The voice acting is a little iffy, but the gameplay is good after you figure out what you&#8217;re doing.  (Which, ironically, doesn&#8217;t happen until you leave the tutorial island.)  Oh, and I got the Metroid Prime Trilogy for Wii.  I&#8217;ve only played the first on GameCube, but absolutely loved it.  Can&#8217;t wait to tackle the two sequels.</p>
<p>That&#8217;s all for now.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chrishowie.com/2009/09/02/yet-another-monolithic-update/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Git and Banshee.OpenVP fun</title>
		<link>http://www.chrishowie.com/2009/05/07/git-and-bansheeopenvp-fun/</link>
		<comments>http://www.chrishowie.com/2009/05/07/git-and-bansheeopenvp-fun/#comments</comments>
		<pubDate>Thu, 07 May 2009 21:43:39 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Banshee]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Computer]]></category>
		<category><![CDATA[OpenVP]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.chrishowie.com/?p=244</guid>
		<description><![CDATA[Well it&#8217;s hacking season again. With GNOME&#8217;s switch from Subversion to Git complete, which means Banshee now uses Git too, it gave me an excuse to finally learn it. This was not fun. But having toughed it out, I can definitely say that I love it. Now that Banshee is using Git, Aaron is starting [...]]]></description>
			<content:encoded><![CDATA[<p>Well it&#8217;s hacking season again.  With GNOME&#8217;s switch from Subversion to Git complete, which means <a href="http://mail.gnome.org/archives/banshee-list/2009-April/msg00120.html">Banshee now uses Git too</a>, it gave me an excuse to finally learn it.  <a href="http://twitter.com/cdhowie/status/1664570385">This was not fun.</a>  But having toughed it out, I can definitely say that <a href="http://twitter.com/cdhowie/status/1729199925">I love it</a>.</p>
<p>Now that Banshee is using Git, Aaron is starting work on a branch off of the 1.4 series to incorporate my visualization patch.  Wielding my new Git tool belt, I was off and hacking.  Taking Gabriel&#8217;s branch allowing replacement of source widgets, I rebased that from master to stable-vis, fixed the merge conflicts, and started hacking away at Banshee.OpenVP.  Unfortunately, not all the pieces I needed were there yet.  So I <a href="http://gitorious.org/projects/banshee/repos/cdhowie-clone/commits/327f490aa06f5af59b48d6a4832fd894f351fedb">added</a> <a href="http://gitorious.org/projects/banshee/repos/cdhowie-clone/commits/fd9cf79d6f8f57fabdd0ca58afb722c28756038c">them</a> and pushed them up to <a href="http://gitorious.org">Gitorious</a>.  Neat.</p>
<p>Now Banshee.OpenVP looks like this:
<div style="text-align:center;"><a href="http://picasaweb.google.com/lh/photo/xeCOFVbEQXnGVR0Qy5tU_A?feat=embedwebsite"><img src="http://lh5.ggpht.com/_1U-UwfPfZ6A/SgMW44Vm8cI/AAAAAAAAAe8/BWH-RTov3ZM/s400/Banshee.OpenVP%20-%20Now%20Playing%20integration.png" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.chrishowie.com/2009/05/07/git-and-bansheeopenvp-fun/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>More visualizations</title>
		<link>http://www.chrishowie.com/2009/01/29/more-visualizations/</link>
		<comments>http://www.chrishowie.com/2009/01/29/more-visualizations/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 21:13:54 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Banshee]]></category>
		<category><![CDATA[OpenVP]]></category>

		<guid isPermaLink="false">http://www.chrishowie.com/?p=203</guid>
		<description><![CDATA[I spent some of Tuesday porting some of my older OpenVP visualizations from XML-serialized scripted effect presets to &#8220;real&#8221; preset classes, and committed them to Banshee.OpenVP. The results:]]></description>
			<content:encoded><![CDATA[<p>I spent some of Tuesday porting some of my older OpenVP visualizations from XML-serialized scripted effect presets to &#8220;real&#8221; preset classes, and committed them to Banshee.OpenVP.  The results:
<p style="text-align:center;"><a href="http://picasaweb.google.com/lh/photo/ORr6BNjwpXqwYjEx7eSajA?feat=embedwebsite"><img src="http://lh4.ggpht.com/_1U-UwfPfZ6A/SX_hOm5euSI/AAAAAAAAAYg/bDKHMZ2LaC0/s400/Screenshot-Satellite%20by%20P.O.D..png" /></p>
<p></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.chrishowie.com/2009/01/29/more-visualizations/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Finished visualization pipeline</title>
		<link>http://www.chrishowie.com/2009/01/21/finished-visualization-pipeline/</link>
		<comments>http://www.chrishowie.com/2009/01/21/finished-visualization-pipeline/#comments</comments>
		<pubDate>Wed, 21 Jan 2009 21:29:07 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Banshee]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[OpenVP]]></category>

		<guid isPermaLink="false">http://www.chrishowie.com/?p=190</guid>
		<description><![CDATA[Hopefully, anyway. I spent some time this last week (probably over 15 hours total) giving the Banshee visualization pipeline another overhaul. In the process of doing this I finally filed a bug I found in the spectrum GStreamer element that I&#8217;ve been trying to work around for a long time. Even though Sebastian was able [...]]]></description>
			<content:encoded><![CDATA[<p>Hopefully, anyway.</p>
<p>I spent some time this last week (probably over 15 hours total) giving the Banshee visualization pipeline <a href="http://bugzilla.gnome.org/attachment.cgi?id=127031&#038;action=view">another overhaul</a>.  In the process of doing this I finally <a href="http://bugzilla.gnome.org/show_bug.cgi?id=567642">filed a bug I found in the spectrum GStreamer element</a> that I&#8217;ve been trying to work around for a long time.</p>
<p>Even though Sebastian was able to fix this specific bug, <a href="http://bugzilla.gnome.org/show_bug.cgi?id=567955">another crept up</a>, which he did fix, but it became apparent to me that using the spectrum element was the wrong approach.  I won&#8217;t go into too many details, but it made disabling and re-enabling the pipeline incredibly tricky and required a buffer of spectrum slices that had to be synchronized with a mutex since it was being accessed by three threads.</p>
<p>Sebastian gave me some pointers on using libgstfft directly, and this has reduced the amount of code required to do spectrum analysis while making it less laggy and less of a hack.</p>
<p>I&#8217;m told this patch (and possibly Banshee.OpenVP) will be going into Banshee 1.6.  Sweet.</p>
<p><a href="http://picasaweb.google.com/cdhowie/OpenVPScreenshots#5293858907266940946">Mandatory screen shot</a> of the new code and of the new Voiceprint visualization in Banshee.OpenVP:</p>
<div style="text-align:center;"><a href="http://picasaweb.google.com/cdhowie/OpenVPScreenshots?feat=embedwebsite#5293858907266940946"><img src="http://lh3.ggpht.com/_1U-UwfPfZ6A/SXeQoMqvABI/AAAAAAAAAXc/4mJcngSJ_jM/s400/voiceprint.png" /></a></div>
<p><b>Update 2009-01-22:</b> I had to revise the patch to fix a segfault caused by a race and to eliminate some timing issues with thawing synchronization.  The link to the patch has been updated.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chrishowie.com/2009/01/21/finished-visualization-pipeline/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Christmas break plans</title>
		<link>http://www.chrishowie.com/2008/12/19/christmas-break-plans/</link>
		<comments>http://www.chrishowie.com/2008/12/19/christmas-break-plans/#comments</comments>
		<pubDate>Fri, 19 Dec 2008 16:05:39 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[OpenVP]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.chrishowie.com/?p=154</guid>
		<description><![CDATA[It&#8217;s that time of the year again&#8230; when I get to relax after completing finals. It looks like I&#8217;m going to pass everything too, which is a pretty big deal since I literally cannot fail any class I&#8217;m enrolled in and still graduate in May. So now that I have some time to myself, here&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s that time of the year again&#8230; when I get to relax after completing finals.  It looks like I&#8217;m going to pass everything too, which is a pretty big deal since I literally cannot fail any class I&#8217;m enrolled in and still graduate in May.  So now that I have some time to myself, here&#8217;s what I plan to do:</p>
<ul>
<li>Prototype a web application for a Moodle-based tutoring system that I&#8217;ve been developing for <a href="http://www.anderson.edu">my university</a>.  This really isn&#8217;t &#8220;me stuff&#8221; but I enjoy a good PHP+JavaScript+AJAX coding session.</li>
<li>Try to work some more on OpenVP.  I recently looked at some of the old visualizations I wrote for Winamp 2&#8242;s Advanced Visualization Studio plugin.  Wow&#8230; OpenVP has some ground to cover.  My goal is to port some of my better visualizations (which are loads better than I remembered them being) to OpenVP for the very first release as part of Banshee.</li>
<li>Try <a href="http://www.chrishowie.com/2008/08/22/ok-i-guess-not/comment-page-1/#comment-7934">this</a> again and report the results to C.J..</li>
<li>Try the newest PulseAudio with the Flash 10 beta.  Hopefully the problems I&#8217;ve been having were resolved by now.</li>
<li>Ship my defective laptop display back to the eBay seller for a replacement.  According to him, having two defective pixels doesn&#8217;t qualify for a Dell warranty replacement (four are required &#8212; the &#8216;tards), but he is going to replace it with another from his stock.  Seems like a nice guy.  He&#8217;s got a <a href="http://stores.ebay.com/LEONWORKS-ORIGINAL-GENUINE-PRODUCT">store</a> on eBay if you feel like browsing.</li>
<li>Probably some other stuff I forgot already.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.chrishowie.com/2008/12/19/christmas-break-plans/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>More optimization</title>
		<link>http://www.chrishowie.com/2008/10/10/more-optimization/</link>
		<comments>http://www.chrishowie.com/2008/10/10/more-optimization/#comments</comments>
		<pubDate>Fri, 10 Oct 2008 22:47:42 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Banshee]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[OpenVP]]></category>

		<guid isPermaLink="false">http://www.chrishowie.com/?p=134</guid>
		<description><![CDATA[Not creative enough to think of a better title right now&#8230; I just spent almost two hours hacking away at the Banshee visualization pipeline again and made one very important optimization: when the callback function is null (which happens when nobody in managed land is listening for visualization data) the visualization pipeline is effectively disabled. [...]]]></description>
			<content:encoded><![CDATA[<p>Not creative enough to think of a better title right now&#8230;</p>
<p>I just spent almost two hours hacking away at the Banshee visualization pipeline again and made one very important optimization: when the callback function is null (which happens when nobody in managed land is listening for visualization data) the visualization pipeline is effectively disabled.  The only element that remains active is a queue, which provides a 5-second buffer so that visualization can be quickly resumed.</p>
<p><a href="http://bugzilla.gnome.org/show_bug.cgi?id=555834">The patch</a> is now over at GNOME&#8217;s Bugzilla, just waiting.  Waiting for Aaron to commit it.  Waiting for a chance to prove it&#8217;s all grown up now.  Hoping to bring joy to audio enthusiasts all around the globe.</p>
<p>Yeah, I did watch Tommy Boy recently.  &#8230; Why?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chrishowie.com/2008/10/10/more-optimization/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Optimizing the visualization pipeline</title>
		<link>http://www.chrishowie.com/2008/10/09/optimizing-the-visualization-pipeline/</link>
		<comments>http://www.chrishowie.com/2008/10/09/optimizing-the-visualization-pipeline/#comments</comments>
		<pubDate>Fri, 10 Oct 2008 03:39:45 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Banshee]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[OpenVP]]></category>

		<guid isPermaLink="false">http://www.chrishowie.com/?p=124</guid>
		<description><![CDATA[So apparently the visualization stuff in Banshee has been disabled since it&#8217;s a CPU hog. I don&#8217;t know why I didn&#8217;t notice it during testing (and I did check) but there seems to be a five-fold increase in CPU utilization with the visualization pipeline running. For me, this is an increase from 1-3% to 10-12% [...]]]></description>
			<content:encoded><![CDATA[<p>So apparently the visualization stuff in Banshee has been disabled since it&#8217;s a CPU hog.  I don&#8217;t know why I didn&#8217;t notice it during testing (and I did check) but there seems to be a five-fold increase in CPU utilization with the visualization pipeline running.  For me, this is an increase from 1-3% to 10-12% on dual-core 2.6GHz amd64.</p>
<p>After ruling out a few things I discovered the root cause.  In OpenVP, PCM and spectrum data are represented as 32-bit floats, which means that the pipeline needs to convert whatever the audio format is into this one.  Along the way it resamples the stream too, to provide a consistent frame rate of consistent-size slices.  512 samples 60 times per second is 30720 samples/sec.  If anyone can show me a song found in the wild encoded at this rate I&#8217;ll give you&#8230; well, nothing, since I&#8217;m a college student and couldn&#8217;t afford to give you this pencil I have sitting on my desk.</p>
<p>Anywho, the conversion to float cannot be avoided but the resampling can be.  By setting it to the more common 44100Hz sample rate CPU usage dropped to 4-6%.  It&#8217;s pretty cheap to convert formats and throw duplicate data around, but interpolating data is a lot more expensive.</p>
<p>At some point the vis pipeline will be smart enough to split music into chunks of a size depending on the current sample rate.  Until then this patch should be good enough.  (I hope.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chrishowie.com/2008/10/09/optimizing-the-visualization-pipeline/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Almost there</title>
		<link>http://www.chrishowie.com/2008/08/24/almost-there/</link>
		<comments>http://www.chrishowie.com/2008/08/24/almost-there/#comments</comments>
		<pubDate>Sun, 24 Aug 2008 21:09:52 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Banshee]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[OpenVP]]></category>

		<guid isPermaLink="false">http://www.chrishowie.com/?p=115</guid>
		<description><![CDATA[After a few hours of hacking using a wigdet that Michael and a few others pointed me at, I now have a working Banshee.OpenVP extension! Much work still remains to be done, but what I have is a pretty stable foundation. Both the OpenVP 0.0.1 branch and Banshee.OpenVP are available over at the Google Code [...]]]></description>
			<content:encoded><![CDATA[<p>After a few hours of hacking using <a href="http://glwidget.sourceforge.net">a wigdet</a> that <a href="http://mjhutchinson.com/">Michael</a> and a few others pointed me at, I now have a working Banshee.OpenVP extension!
<div style="text-align:center;"><a href="http://picasaweb.google.com/cdhowie/OpenVPScreenshots/photo#5237962909580955218"><img src="http://lh6.ggpht.com/cdhowie/SLD7g6w-jlI/AAAAAAAAAPY/_-nelkn_tzY/s400/Screenshot-1.png" /></a></div>
<p>Much work still remains to be done, but what I have is a pretty stable foundation.  Both the OpenVP 0.0.1 branch and Banshee.OpenVP are available over at the Google Code repo.  They should both be stable enough to test, but since the build system isn&#8217;t in place yet I&#8217;m not asking the general public to try it out yet.  But if you know your way around MD, autotools, and Banshee you might be able to get it working.  (Please don&#8217;t ask for help with that part yet.  If you get it working and hit a bug please let me know though.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chrishowie.com/2008/08/24/almost-there/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ok, I guess not</title>
		<link>http://www.chrishowie.com/2008/08/22/ok-i-guess-not/</link>
		<comments>http://www.chrishowie.com/2008/08/22/ok-i-guess-not/#comments</comments>
		<pubDate>Fri, 22 Aug 2008 22:58:58 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Banshee]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[OpenVP]]></category>

		<guid isPermaLink="false">http://www.chrishowie.com/?p=112</guid>
		<description><![CDATA[Banshee.OpenVP is on hold indefinitely until a stable GTK+ widget providing an OpenGL context is available. All of the wrappers I have tried have serious issues that prevent this project from even making minimal headway.]]></description>
			<content:encoded><![CDATA[<p>Banshee.OpenVP is on hold indefinitely until a stable GTK+ widget providing an OpenGL context is available.  All of the wrappers I have tried have serious issues that prevent this project from even making minimal headway.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chrishowie.com/2008/08/22/ok-i-guess-not/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

