<?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; sound system</title>
	<atom:link href="http://www.crazygaze.com/blog/tag/sound-system/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 Sound System is growing</title>
		<link>http://www.crazygaze.com/blog/2007/10/15/czplayer-sound-system-is-growing/</link>
		<comments>http://www.crazygaze.com/blog/2007/10/15/czplayer-sound-system-is-growing/#comments</comments>
		<pubDate>Mon, 15 Oct 2007 16:37:47 +0000</pubDate>
		<dc:creator>ruifig</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[audio engine]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[sound system]]></category>

		<guid isPermaLink="false">http://www.crazygaze.com/blog/archives/25</guid>
		<description><![CDATA[czPlayer, the sound system I&#8217;ve been developing, it&#8217;s slowly growing. After a few days blind coding while porting to PalmOS, without having a device to test on, and not even an emulator (I&#8217;m compiling full-ARM code for PalmOS), today I was finally able to test it. Worked at the first try! I could only say&#8230; [...]]]></description>
			<content:encoded><![CDATA[<p><!--adsense--><br />
czPlayer, the sound system I&#8217;ve been developing, it&#8217;s slowly growing. After a few days blind coding while porting to PalmOS, without having a device to test on, and not even an emulator (I&#8217;m compiling full-ARM code for PalmOS), today I was finally able to test it. Worked at the first try! I could only say&#8230; Man,that&#8217;s strange, I wasn&#8217;t expecting that!</p>
<p>That was one in a million, I think. hehe</p>
<p>There are still some things to improve, features to add, and more refactoring to do, but its already working on Windows, Windows Mobile, Symbian, and Palm, which are my targeted platforms at the moment, so things should be easier now.</p>
<p>If anyone is interested, I&#8217;ll be licensing czPlayer in a very near future.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazygaze.com/blog/2007/10/15/czplayer-sound-system-is-growing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>czPlayer Sound System</title>
		<link>http://www.crazygaze.com/blog/2007/09/07/czplayer-sound-system/</link>
		<comments>http://www.crazygaze.com/blog/2007/09/07/czplayer-sound-system/#comments</comments>
		<pubDate>Fri, 07 Sep 2007 12:05:37 +0000</pubDate>
		<dc:creator>ruifig</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[audio engine]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[sound system]]></category>

		<guid isPermaLink="false">http://www.crazygaze.com/blog/archives/17</guid>
		<description><![CDATA[Finally I resumed work in some of my own projects. I&#8217;ve been working on my Sound System (czPlayer), which I intend to license to BitRabbit. About czPlayer Sound System: Platforms supported: - Win32 - Pocket PC - Symbian - Palm Features: - Sound.. of course. - MOD and IT support - More to come. czPlayer [...]]]></description>
			<content:encoded><![CDATA[<p>Finally I resumed work in some of my own projects. I&#8217;ve been working on my Sound System (czPlayer), which I intend to license to <a href="http://www.bitrabbit.net" title="BitRabbit">BitRabbit</a>.</p>
<p>About czPlayer Sound System:<br />
Platforms supported:<br />
-    Win32<br />
-    Pocket PC<br />
-    Symbian<br />
-    Palm<br />
Features:<br />
- Sound.. of course. <img src='http://www.crazygaze.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /><br />
-    MOD and IT support<br />
- More to come.</p>
<p>czPlayer codebase started around 1998, when I created a music disk (See <a href="http://en.wikipedia.org/wiki/Music_disk">http://en.wikipedia.org/wiki/Music_disk</a> ) with some friends. I&#8217;ve done all the code, and two friends of mine the gfx and sfx. We we were still using MS-DOS at that time.<br />
Everything was coded in Watcom C++ compiler which was the best DOS compiler at the time, and the <a href="http://en.wikipedia.org/wiki/PMODE">PMODE/W</a> dos extender.</p>
<p>I think we&#8217;ve done everything in our summer vacations, in 2-3 months<br />
At that time, czPlayer was called Jupiter Sound System or something like that. It had nice features for a DOS sound library, supporting SB mono to SB 16, Gravis Ultrasound with both hardware and software mixing to overcome some limitations. See (http://en.wikipedia.org/wiki/Gravis_Ultrasound)</p>
<p>Maybe I&#8217;ll post here a video or the music disk itself later.</p>
<p>Anyway, most of the code was refactored by now, and doesn&#8217;t look like the old code.</p>
<p>It&#8217;s nice to be back to my projects.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazygaze.com/blog/2007/09/07/czplayer-sound-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

