<?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>Rui Figueira's Blog &#187; czPlayer</title>
	<atom:link href="http://www.crazygaze.com/blog/tag/czplayer/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.crazygaze.com/blog</link>
	<description>Knowing is not enough; we must apply. Willing is not enough; we must do.</description>
	<lastBuildDate>Fri, 24 Sep 2010 16:22:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>Plans for the next version of czPlayer</title>
		<link>http://www.crazygaze.com/blog/2009/11/29/plans-for-the-next-version-of-czplayer/</link>
		<comments>http://www.crazygaze.com/blog/2009/11/29/plans-for-the-next-version-of-czplayer/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 23:15:42 +0000</pubDate>
		<dc:creator>ruifig</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[czPlayer]]></category>
		<category><![CDATA[sound system]]></category>

		<guid isPermaLink="false">http://www.crazygaze.com/blog/2009/11/29/plans-for-the-next-version-of-czplayer/</guid>
		<description><![CDATA[Been in Scotland for near 2 years already, working at RealtimeWorlds, more specifically in a game called APB. Times does fly when we&#8217;re having fun! Meanwhile, I did work a bit in czPlayer, but nothing really new. Mostly bugfixes or small features for a client. So despite not having any updates here in the blog, [...]]]></description>
			<content:encoded><![CDATA[<div>Been in Scotland for near 2 years already, working at RealtimeWorlds, more specifically in a game called <strong>APB</strong>.</div>
<div>Times does fly when we&#8217;re having fun!</div>
<div>Meanwhile, I did work a bit in czPlayer, but nothing really new. Mostly bugfixes or small features for a client.</div>
<div>So despite not having any updates here in the blog, the following things happened to czPlayer</div>
<div>- Some games using czPlayer were release</div>
<div>- A client added iPhone support. Was as simple as creating a single class with about 160 lines of code.</div>
<div>- Implemented volume ramping, which helps a great deal in removing clicks, especially for chiptunes</div>
<div>- Added some other small features, again with minor effort. <img src='http://www.crazygaze.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </div>
<div>- Fixed some bugs, especially related to Symbian.</div>
<div>Also, apart from czPlayer, I managed to squeeze in some other small freelance work.</div>
<div>The last few months I&#8217;ve been thinking where to go next with czPlayer, and I&#8217;ve decided to go with a new design.</div>
<div>Personally, I think the current design is really good performance-wise, minimizing copying memory around unnecessary or other unnecessary overhead.</div>
<div>For example, internally a <em>Mixer</em> object contains <em>MixerInputGroup</em> objects, and each <em>MixerInputGroup</em> contains individual <em>MixerInput </em>objects. Each of those classes have a <em>SetVolume</em> method, which allows me to have several levels of volume (aka as Global volume and channel volume) which get multiplied to calculate a final volume to apply in a single mixing pass, avoiding the need to mix at the <em>MixerInputGroup</em> level, and then again at the <em>Mixer</em> level.</div>
<div>Although the current design has proven successful, it does have severe limitations in flexibility, has for example not being able to apply an <span style="color: #000000;">hypothetically</span> effect to a single sound or sound group. It&#8217;s only possible to apply an effect to the final mix.</div>
<div>So I decided to go with a new design which should be more flexible, but I&#8217;ll still use the old codebase as reference, especially because of the small fixes/features I&#8217;ve implemented meanwhile.</div>
<div>Some of the new features I&#8217;m planning:</div>
<div>- DSP plugins. Will probably provide just 1 or two as an example.</div>
<div>- Configurable DSP network. This will make it possible to create a custom DSP network and play sounds in specific point in the network.</div>
<div>- Streaming support. Only Ogg Vorgis planned so far, but should pave the way for other formats</div>
<div>- Maybe virtual voices (ala FMOD style), if I get the time.</div>
<div></div>
<div>Again, those features shouldn&#8217;t add significant overhead until used, of course.</div>
<div></div>
<div>If the user  sticks with the default settings, performance should hopefully be comparable to the current version.</div>
<div>I&#8217;ll be dropping support for old Symbian editions (&lt; 3rd edition), which should make some things easier.</div>
<div>I wish I could drop Palm OS, which is a real pain to develop for, but a particular client still requires it.</div>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://www.crazygaze.com/blog/2009/11/29/plans-for-the-next-version-of-czplayer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>czPlayer 0.2.1 Released</title>
		<link>http://www.crazygaze.com/blog/2008/03/01/czplayer-021-released/</link>
		<comments>http://www.crazygaze.com/blog/2008/03/01/czplayer-021-released/#comments</comments>
		<pubDate>Sat, 01 Mar 2008 02:00:39 +0000</pubDate>
		<dc:creator>ruifig</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[czPlayer]]></category>

		<guid isPermaLink="false">http://www.crazygaze.com/blog/archives/44</guid>
		<description><![CDATA[Here I am again. Almost 2 months and here it is a new version. No new fancy features or big changes. Basically, I&#8217;ve just added support for loading WAV files encoded with ADPCM (IMA and Microsoft ADPCM supported). I&#8217;ve been so quiet for a reason&#8230; Last 2 months I&#8217;ve been looking for a new position [...]]]></description>
			<content:encoded><![CDATA[<p>Here I am again.<br />
Almost 2 months and here it is a new version.<br />
No new fancy features or big changes. Basically, I&#8217;ve just  added support for loading WAV files encoded with ADPCM (IMA and Microsoft ADPCM  supported).</p>
<p>I&#8217;ve been so quiet for a reason&#8230;<br />
Last 2 months I&#8217;ve been  looking for a new position in the games industry, and finally got one in  Scotland-Dundee.</p>
<p>You can download the new version here :<br />
<a href="http://www.crazygaze.com/blog/czplayer"> Download lastest czPlayer demo</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazygaze.com/blog/2008/03/01/czplayer-021-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>czPlayer 0.2.0 released</title>
		<link>http://www.crazygaze.com/blog/2008/01/07/czplayer-020-released/</link>
		<comments>http://www.crazygaze.com/blog/2008/01/07/czplayer-020-released/#comments</comments>
		<pubDate>Mon, 07 Jan 2008 09:49:25 +0000</pubDate>
		<dc:creator>ruifig</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[czPlayer]]></category>

		<guid isPermaLink="false">http://www.crazygaze.com/blog/archives/41</guid>
		<description><![CDATA[I&#8217;ve been working hard on czPlayer, and here is the result. Version 0.2.0 released. The API is mostly incompatible with the previous 0.1.1 version. I&#8217;ve made a lot of changes to this version and added some new features, so I decided to jump the version number to 0.2.0. All the internal refactoring I&#8217;ve made will [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working hard on <a href="http://www.crazygaze.com/blog/czplayer">czPlayer</a>, and here is the result. Version 0.2.0 released.<br />
The API is mostly incompatible with the previous 0.1.1 version.<br />
I&#8217;ve made a lot of changes to this version and added some new features, so I decided to jump the version number to 0.2.0.<br />
All the internal refactoring I&#8217;ve made will hopefully allow me to add some new features I have in mind, like DSP effects (both internal and user provided) .<br />
Needless to say, I&#8217;m not particularly confident about the stability of this version, with all the changes I&#8217;ve made. Some functions were not even tested yet. But like I said in earlier posts, there is always something to fix or improve, so I better release and work from there, than to keep fixing/improving stuff and never release.<br />
I have so many crazy ideas for features! But most of them will not be implemented, because of the targeted platforms.<br />
Codesize and performance have priority, not features&#8230; well&#8230; at least for czPlayer.<br />
That leads me to another thing I&#8217;ve been thinking about!<br />
Maybe I&#8217;ll eventually fork czPlayer into Mobile and Non-Mobile versions, so that I can go wild on all the things I want to implement. Hehe<br />
Most of what I dislike in czPlayer (both internal, and in the external API), are a direct consequence  of the compromises I had to make to support the targeted platforms, and have the same API for all of them.<br />
Nuff said! You&#8217;ve got to ask yourself one question: Do you feel lucky? Well, do you, punk ?</p>
<p>If so, go ahead, download the new version and give it a try:<br />
<a href="http://www.crazygaze.com/blog/czplayer"> Download lastest czPlayer demo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazygaze.com/blog/2008/01/07/czplayer-020-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>czPlayer 0.1.1 released</title>
		<link>http://www.crazygaze.com/blog/2007/12/16/czplayer-011-released/</link>
		<comments>http://www.crazygaze.com/blog/2007/12/16/czplayer-011-released/#comments</comments>
		<pubDate>Sun, 16 Dec 2007 22:13:51 +0000</pubDate>
		<dc:creator>ruifig</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[czPlayer]]></category>

		<guid isPermaLink="false">http://www.crazygaze.com/blog/archives/38</guid>
		<description><![CDATA[New release of czPlayer. Just a few bug fixes in the internal mixer, and minor changes in the documentation. Those bugs were particular hard to find and fix. They appeared mostly for short looped sounds, like those commonly used in chiptunes, causing some distortion or high pitch. I was making some wrong calculations for looped [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal"><span lang="EN-GB">New release of czPlayer.<br />
Just a few bug fixes in the internal mixer, and minor changes in the documentation.<br />
Those bugs were particular hard to find and fix. They appeared mostly for short looped sounds, like those commonly used in chiptunes, causing some distortion or high pitch. I was making some wrong calculations for looped sounds, which caused 1 or 2 sound frames to be skipped for each sound. For big samples, you can&#8217;t hear the difference, but for very short samples, especially looped, just 1 or 2 wrong frames can mess up the final mix, since they represent a significant part of the affected samples.<br />
I have a lot of changes planned, but  I&#8217;m waiting for a client to  finish  his game before I go wild on the code! hehe<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><a href="http://www.crazygaze.com/blog/czplayer">Download lastest czPlayer demo.</a><o:p></o:p></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazygaze.com/blog/2007/12/16/czplayer-011-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

