<?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>Yet Another [À Compléter] &#187; Mono.Xna</title>
	<atom:link href="http://blog.neteril.org/category/mono-xna/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.neteril.org</link>
	<description>Random thoughts of Jérémie Laval</description>
	<lastBuildDate>Mon, 19 Jul 2010 17:12:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Little progress on Mono.Xna Audio part</title>
		<link>http://blog.neteril.org/2007/07/02/little-progress-on-monoxna-audio-part/</link>
		<comments>http://blog.neteril.org/2007/07/02/little-progress-on-monoxna-audio-part/#comments</comments>
		<pubDate>Mon, 02 Jul 2007 08:51:29 +0000</pubDate>
		<dc:creator>Jérémie Laval</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Mono.Xna]]></category>

		<guid isPermaLink="false">http://garuma.wordpress.com/2007/07/02/little-progress-on-monoxna-audio-part/</guid>
		<description><![CDATA[<p>Hey, some news from the front. For the past few days (in fact since my last post) I started to decipher the internal file formats used by XACT and thus XNA.</p>
<p>So far I have tracked my progress, together with some informations about the format, here : <a href="http://code.google.com/p/monoxna/wiki/XnaFrameworkAudio">http://code.google.com/p/monoxna/wiki/XnaFrameworkAudio</a>. </p>
<p>With what I currently have, I also managed to write a little tool which show some informations about sound bank and their associated wave bank. The code is really ugly ATM but ultimately I will base my implementation for Mono.Xna on it (with the associated cleanup and refractoring of course <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ). Because a screenie is better than any word, here it is :</p>
<div align="center"><a href="http://garuma.files.wordpress.com/2007/07/soundbankreader.png"><img src="http://garuma.files.wordpress.com/2007/07/soundbankreader.png" height="141" width="244" /></a></p>
<div align="left">I also mailed a guy from the XNA team asking some questions about the format. From what I have seen on forums they aren&#8217;t very inclined to give away these informations so let&#8217;s see how it ends <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  .</p>
<p>NP: <i>Out in the Fields</i>, Sonata Arctica</div>
</div>
]]></description>
			<content:encoded><![CDATA[<p>Hey, some news from the front. For the past few days (in fact since my last post) I started to decipher the internal file formats used by XACT and thus XNA.</p>
<p>So far I have tracked my progress, together with some informations about the format, here : <a href="http://code.google.com/p/monoxna/wiki/XnaFrameworkAudio">http://code.google.com/p/monoxna/wiki/XnaFrameworkAudio</a>. </p>
<p>With what I currently have, I also managed to write a little tool which show some informations about sound bank and their associated wave bank. The code is really ugly ATM but ultimately I will base my implementation for Mono.Xna on it (with the associated cleanup and refractoring of course <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ). Because a screenie is better than any word, here it is :</p>
<div align="center"><a href="http://garuma.files.wordpress.com/2007/07/soundbankreader.png"><img src="http://garuma.files.wordpress.com/2007/07/soundbankreader.png" height="141" width="244" /></a></p>
<div align="left">I also mailed a guy from the XNA team asking some questions about the format. From what I have seen on forums they aren&#8217;t very inclined to give away these informations so let&#8217;s see how it ends <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  .</p>
<p>NP: <i>Out in the Fields</i>, Sonata Arctica</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.neteril.org/2007/07/02/little-progress-on-monoxna-audio-part/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Restarted work on Mono.Xna</title>
		<link>http://blog.neteril.org/2007/06/21/restarted-work-on-monoxna/</link>
		<comments>http://blog.neteril.org/2007/06/21/restarted-work-on-monoxna/#comments</comments>
		<pubDate>Thu, 21 Jun 2007 09:31:20 +0000</pubDate>
		<dc:creator>Jérémie Laval</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Mono.Xna]]></category>

		<guid isPermaLink="false">http://garuma.wordpress.com/2007/06/21/restarted-work-on-monoxna/</guid>
		<description><![CDATA[<p>As a way to familiarize myself with git-svn interoperability I re-imported the whole Mono.Xna tree in a local git branch to experiment my crazy ideas.</p>
<p>I looked quickly at the code added since the last time and it seems to have advanced quite good even though I saw some violations of the coding guidelines <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  . I also noticed that someone (Alan ?) added some comments on my precedent work about possible issues. I will try to look at that ASAP.</p>
<p>I already had some stubs of the Design namespace implemented so I will resume my work on them but more importantly I peeked a little at the Xna.Framework.Audio namespace to understand how it worked. So far I wrote the result of my researchs on a Mono.Xna&#8217;s <a href="http://code.google.com/p/monoxna/wiki/XnaFrameworkAudio">wiki page</a>. Feel free to add things (especially about implementation ideas).</p>
]]></description>
			<content:encoded><![CDATA[<p>As a way to familiarize myself with git-svn interoperability I re-imported the whole Mono.Xna tree in a local git branch to experiment my crazy ideas.</p>
<p>I looked quickly at the code added since the last time and it seems to have advanced quite good even though I saw some violations of the coding guidelines <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  . I also noticed that someone (Alan ?) added some comments on my precedent work about possible issues. I will try to look at that ASAP.</p>
<p>I already had some stubs of the Design namespace implemented so I will resume my work on them but more importantly I peeked a little at the Xna.Framework.Audio namespace to understand how it worked. So far I wrote the result of my researchs on a Mono.Xna&#8217;s <a href="http://code.google.com/p/monoxna/wiki/XnaFrameworkAudio">wiki page</a>. Feel free to add things (especially about implementation ideas).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.neteril.org/2007/06/21/restarted-work-on-monoxna/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Capharnaüm #4</title>
		<link>http://blog.neteril.org/2007/06/15/capharnaum-4/</link>
		<comments>http://blog.neteril.org/2007/06/15/capharnaum-4/#comments</comments>
		<pubDate>Fri, 15 Jun 2007 17:56:06 +0000</pubDate>
		<dc:creator>Jérémie Laval</dc:creator>
				<category><![CDATA[Capharnaüm]]></category>
		<category><![CDATA[Circ]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mono.Xna]]></category>
		<category><![CDATA[Monodevelop]]></category>
		<category><![CDATA[School]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://garuma.wordpress.com/2007/06/15/capharnaum-4/</guid>
		<description><![CDATA[<p>(I think I&#8217;m starting to like these kind of post)</p>
<ul>
<li>Yay today I passed my last written exam for the <a href="http://en.wikipedia.org/wiki/Baccalaur%C3%A9at">Baccalauréat</a>. Physics/Chemistry was terrific but I found Math easy (which is good because my final mark will depend mostly on this exam mark). Now it just let some practical and oral tests in the following week but it&#8217;s not big deal : meaning I will much more time to work on what I like <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  .</li>
<li>I found some time to add new features to Circ like a revamped parser infrastructure and now Circ take account of its conf file. I pushed my early work on the mirror but it&#8217;s still very buggy so I don&#8217;t recommend that you upgrade.</li>
<li>For all Ubuntu performance tuning fan out of there you should try these set of scripts : <a href="http://gnomefiles.org/app.php?soft_id=1397">http://gnomefiles.org/app.php?soft_id=1397</a> . Basically they remove whitespaces and such from your Gnome&#8217;s XML files which improve speed launch of your app and their memory usage.</li>
<li>Monodevelop 0.14 <a href="http://www.monodevelop.com/Release_notes_for_MonoDevelop_0.14">is out</a> with all the juicy features I described there and more. Yesterday I just discovered that you can know generate automagically properties from a field via the right-click menu. Terrific</li>
<li>I&#8217;m wondering what are the capabitilities of this <a href="http://www.codeplex.com/thrust">Thrust</a> thing and if it would run fine on Mono.Xna. Will test it when I find time.</li>
<li>Tomorrow I have to go to some sort of meeting to be introduced to the job I will make during this summer. Hu who found the dumb idea to make me wake up for 9am when I just finished my exams and when I&#8217;m going to a friend&#8217;s party this evening &#8230;</li>
</ul>
]]></description>
			<content:encoded><![CDATA[<p>(I think I&#8217;m starting to like these kind of post)</p>
<ul>
<li>Yay today I passed my last written exam for the <a href="http://en.wikipedia.org/wiki/Baccalaur%C3%A9at">Baccalauréat</a>. Physics/Chemistry was terrific but I found Math easy (which is good because my final mark will depend mostly on this exam mark). Now it just let some practical and oral tests in the following week but it&#8217;s not big deal : meaning I will much more time to work on what I like <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  .</li>
<li>I found some time to add new features to Circ like a revamped parser infrastructure and now Circ take account of its conf file. I pushed my early work on the mirror but it&#8217;s still very buggy so I don&#8217;t recommend that you upgrade.</li>
<li>For all Ubuntu performance tuning fan out of there you should try these set of scripts : <a href="http://gnomefiles.org/app.php?soft_id=1397">http://gnomefiles.org/app.php?soft_id=1397</a> . Basically they remove whitespaces and such from your Gnome&#8217;s XML files which improve speed launch of your app and their memory usage.</li>
<li>Monodevelop 0.14 <a href="http://www.monodevelop.com/Release_notes_for_MonoDevelop_0.14">is out</a> with all the juicy features I described there and more. Yesterday I just discovered that you can know generate automagically properties from a field via the right-click menu. Terrific</li>
<li>I&#8217;m wondering what are the capabitilities of this <a href="http://www.codeplex.com/thrust">Thrust</a> thing and if it would run fine on Mono.Xna. Will test it when I find time.</li>
<li>Tomorrow I have to go to some sort of meeting to be introduced to the job I will make during this summer. Hu who found the dumb idea to make me wake up for 9am when I just finished my exams and when I&#8217;m going to a friend&#8217;s party this evening &#8230;</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.neteril.org/2007/06/15/capharnaum-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Yet another brainwave</title>
		<link>http://blog.neteril.org/2007/04/27/new-pet-project/</link>
		<comments>http://blog.neteril.org/2007/04/27/new-pet-project/#comments</comments>
		<pubDate>Fri, 27 Apr 2007 11:07:09 +0000</pubDate>
		<dc:creator>Jérémie Laval</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Mono.Xna]]></category>
		<category><![CDATA[Tao]]></category>

		<guid isPermaLink="false">http://garuma.wordpress.com/2007/04/27/new-pet-project/</guid>
		<description><![CDATA[<p>Some times ago I noticed that the <a href="http://www.taoframework.com">Tao website</a> was revamped under Rob care to a new Drupal-based plateform which is actually cleaner and more &laquo;&nbsp;professional&nbsp;&raquo; than the plain Mediawiki-based wiki.</p>
<p>This lead me to the news of the Tao 2.0 RC2 release that I &laquo;&nbsp;quickly&nbsp;&raquo; downloaded. &laquo;&nbsp;Quickly&nbsp;&raquo; because even in the tar.gz package, which is supposed to be more for UNIX folks, Tao devs put <b>every</b> Win32 DLLs dependencies that they could find for Tao and moreover in two different places (14 Mo for nothing) ! (They were also OSX deps).</p>
<p>But well I&#8217;m not writing this post to complain on Tao strange relationship with dependencies <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  . Instead I want to point out several problems of Tao under Linux. As you (should) know Tao is P/Invoke wrapper around several multimedia-related libraries like OpenGL, OpenAL, GLFW, SDL etc&#8230; . It&#8217;s notorious that under Linux there has been always some problems. mine were almost always related to double-freed pointers or corrupted memory. Moreover there are always been some inconsistency in method prototype (bad parameter type generally). In fact only the Tao.OpenGL wrapper is generated automatically via a spec parser, that&#8217;s fine because <a href="http://www.opengl.org/">OpenGL</a> is a <a href="http://www.opengl.org/documentation/specs/">standard</a> and under the <a href="http://www.opengl.org/about/arb/">governance</a> of big companies (ATI, NVidia &#8230;) that&#8217;s why stuff are well done and why there is such thing as a spec file describing every function, enum, typedef and even vendor-specific extensions. But other projects don&#8217;t have the time, resources, or just the will to do such a thing. That&#8217;s why I had the idea to create a P/Invoke generator that would take a .h file and produce the corresponding P/Invoke .cs file. There is already a tool which do things like this : Swing but the problem is that it force to create c wrappers whereas the P/Invoke system is precisely designed to avoid such things.</p>
<p>Since I didn&#8217;t want to create a full-featured C parser in C# I had three possibilities :
<ul>
<li>Use some well crafted and illegible Regex to fetch function prototype and struct scheme. The main problem is that they are complicated stuff to look for, like typedef and #define directives.</li>
<li>Use the same process that before but on a preprocessed source file thus eliminating some difficulties. Problem : the typedef case stays the same.</li>
<li>Use a dedicated compiler which produce something readable instead of machine code. Fortunately there is a tool out there which do just that : GCC-XML. GCC-XML is a full featured gcc compiler that output XML representing the internal of GCC during the compilation (the GIMPLE tree I think). Personal problem : even if I can use the big facilities of the .NET framework regarding XML support, the output of GCC-XML is still, hum, barely readable for a limited human being like me <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  . But since the common good is more important I decided to go with this solution <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  .</li>
</ul>
<p>If you are curious <a href="http://garuma.files.wordpress.com/2007/04/sampleh.txt">here</a> is a sample code that I use like a test for the parser, and <a href="http://garuma.files.wordpress.com/2007/04/testxml.txt">here</a> is the result returned by GCC-XML (without options). As you can see there are all possible informations in the XML file like the length of the structure, the alignment, the offset &#8230;</p>
<p>I have started to write the XML parser right now so let&#8217;s see if the result will be convincing. Stay tuned <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  .</p>
]]></description>
			<content:encoded><![CDATA[<p>Some times ago I noticed that the <a href="http://www.taoframework.com">Tao website</a> was revamped under Rob care to a new Drupal-based plateform which is actually cleaner and more &laquo;&nbsp;professional&nbsp;&raquo; than the plain Mediawiki-based wiki.</p>
<p>This lead me to the news of the Tao 2.0 RC2 release that I &laquo;&nbsp;quickly&nbsp;&raquo; downloaded. &laquo;&nbsp;Quickly&nbsp;&raquo; because even in the tar.gz package, which is supposed to be more for UNIX folks, Tao devs put <b>every</b> Win32 DLLs dependencies that they could find for Tao and moreover in two different places (14 Mo for nothing) ! (They were also OSX deps).</p>
<p>But well I&#8217;m not writing this post to complain on Tao strange relationship with dependencies <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  . Instead I want to point out several problems of Tao under Linux. As you (should) know Tao is P/Invoke wrapper around several multimedia-related libraries like OpenGL, OpenAL, GLFW, SDL etc&#8230; . It&#8217;s notorious that under Linux there has been always some problems. mine were almost always related to double-freed pointers or corrupted memory. Moreover there are always been some inconsistency in method prototype (bad parameter type generally). In fact only the Tao.OpenGL wrapper is generated automatically via a spec parser, that&#8217;s fine because <a href="http://www.opengl.org/">OpenGL</a> is a <a href="http://www.opengl.org/documentation/specs/">standard</a> and under the <a href="http://www.opengl.org/about/arb/">governance</a> of big companies (ATI, NVidia &#8230;) that&#8217;s why stuff are well done and why there is such thing as a spec file describing every function, enum, typedef and even vendor-specific extensions. But other projects don&#8217;t have the time, resources, or just the will to do such a thing. That&#8217;s why I had the idea to create a P/Invoke generator that would take a .h file and produce the corresponding P/Invoke .cs file. There is already a tool which do things like this : Swing but the problem is that it force to create c wrappers whereas the P/Invoke system is precisely designed to avoid such things.</p>
<p>Since I didn&#8217;t want to create a full-featured C parser in C# I had three possibilities :
<ul>
<li>Use some well crafted and illegible Regex to fetch function prototype and struct scheme. The main problem is that they are complicated stuff to look for, like typedef and #define directives.</li>
<li>Use the same process that before but on a preprocessed source file thus eliminating some difficulties. Problem : the typedef case stays the same.</li>
<li>Use a dedicated compiler which produce something readable instead of machine code. Fortunately there is a tool out there which do just that : GCC-XML. GCC-XML is a full featured gcc compiler that output XML representing the internal of GCC during the compilation (the GIMPLE tree I think). Personal problem : even if I can use the big facilities of the .NET framework regarding XML support, the output of GCC-XML is still, hum, barely readable for a limited human being like me <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  . But since the common good is more important I decided to go with this solution <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  .</li>
</ul>
<p>If you are curious <a href="http://garuma.files.wordpress.com/2007/04/sampleh.txt">here</a> is a sample code that I use like a test for the parser, and <a href="http://garuma.files.wordpress.com/2007/04/testxml.txt">here</a> is the result returned by GCC-XML (without options). As you can see there are all possible informations in the XML file like the length of the structure, the alignment, the offset &#8230;</p>
<p>I have started to write the XML parser right now so let&#8217;s see if the result will be convincing. Stay tuned <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  .</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.neteril.org/2007/04/27/new-pet-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mono.Xna&#039;s follow up</title>
		<link>http://blog.neteril.org/2007/04/23/monoxnas-follow-up/</link>
		<comments>http://blog.neteril.org/2007/04/23/monoxnas-follow-up/#comments</comments>
		<pubDate>Mon, 23 Apr 2007 18:30:19 +0000</pubDate>
		<dc:creator>Jérémie Laval</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Mono.Xna]]></category>

		<guid isPermaLink="false">http://garuma.wordpress.com/2007/04/23/monoxnas-follow-up/</guid>
		<description><![CDATA[<p>Hey I don&#8217;t know why I wouldn&#8217;t also blog about Mono.Xna since things there are also moving on.</p>
<p>So as Miguel said <a href="http://tirania.org/blog/archive/2007/Apr-22.html">on his blog</a>, Mono.Xna is now &laquo;&nbsp;mature&nbsp;&raquo; enough to run Rob&#8217;s Pong. </p>
<p>As the &nbsp;&raquo; &nbsp;&raquo; suggests, I&#8217;m not comfortable anymore with the idea that Mono.Xna is getting more and more mature. In fact it&#8217;s totally the contrary : I&#8217;m more and more suspicious towards Mono.Xna. Even though there are great people behind it (Antti, Alan, David Hudson&#8230;) the project lack a consistence IMHO. Still now I don&#8217;t really know who is the &laquo;&nbsp;Game Master&nbsp;&raquo; behind Mono.Xna nor did I see the skeleton of a real organization behind it. Actually Mono.Xna appears to me more like a big mess than a shiny piece of code. Things are quickly (doesn&#8217;t influence the patch length though <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  )&nbsp; hacked upon the stubs without a common talk or a design plan from the team. What I fear is that all this work will ultimately result in nothing because of its crappiness (writing unit tests isn&#8217;t sufficient). Maybe at some point we will be able to just stop the &laquo;&nbsp;hackers folly&nbsp;&raquo;, design a correct infrastructure and fork the existing code where possible in the new design.</p>
<p>For the moment things are still easy because SDL.NET helps a lot (I&#8217;m still unconvinced that tying Mono.Xna so deeply in SDL.NET is a good idea but that&#8217;s another matter). But things will get exponentially harder when the Content Pipeline, for example, will need to be implemented.</p>
]]></description>
			<content:encoded><![CDATA[<p>Hey I don&#8217;t know why I wouldn&#8217;t also blog about Mono.Xna since things there are also moving on.</p>
<p>So as Miguel said <a href="http://tirania.org/blog/archive/2007/Apr-22.html">on his blog</a>, Mono.Xna is now &laquo;&nbsp;mature&nbsp;&raquo; enough to run Rob&#8217;s Pong. </p>
<p>As the &nbsp;&raquo; &nbsp;&raquo; suggests, I&#8217;m not comfortable anymore with the idea that Mono.Xna is getting more and more mature. In fact it&#8217;s totally the contrary : I&#8217;m more and more suspicious towards Mono.Xna. Even though there are great people behind it (Antti, Alan, David Hudson&#8230;) the project lack a consistence IMHO. Still now I don&#8217;t really know who is the &laquo;&nbsp;Game Master&nbsp;&raquo; behind Mono.Xna nor did I see the skeleton of a real organization behind it. Actually Mono.Xna appears to me more like a big mess than a shiny piece of code. Things are quickly (doesn&#8217;t influence the patch length though <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  )&nbsp; hacked upon the stubs without a common talk or a design plan from the team. What I fear is that all this work will ultimately result in nothing because of its crappiness (writing unit tests isn&#8217;t sufficient). Maybe at some point we will be able to just stop the &laquo;&nbsp;hackers folly&nbsp;&raquo;, design a correct infrastructure and fork the existing code where possible in the new design.</p>
<p>For the moment things are still easy because SDL.NET helps a lot (I&#8217;m still unconvinced that tying Mono.Xna so deeply in SDL.NET is a good idea but that&#8217;s another matter). But things will get exponentially harder when the Content Pipeline, for example, will need to be implemented.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.neteril.org/2007/04/23/monoxnas-follow-up/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Quick note</title>
		<link>http://blog.neteril.org/2007/02/01/quick-note-2/</link>
		<comments>http://blog.neteril.org/2007/02/01/quick-note-2/#comments</comments>
		<pubDate>Thu, 01 Feb 2007 12:16:57 +0000</pubDate>
		<dc:creator>Jérémie Laval</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Circ]]></category>
		<category><![CDATA[Mono.Xna]]></category>
		<category><![CDATA[Quick note]]></category>
		<category><![CDATA[School]]></category>

		<guid isPermaLink="false">http://garuma.wordpress.com/2007/02/01/quick-note-2/</guid>
		<description><![CDATA[<ul>
<li>Mono.Xna a bien avancé, dernièrement Rob et duff ont travaillé sur les classes Texture2D et SpriteBatch qui devraient nous permettre d&#8217;atteindre notre deuxième milestone à savoir jouer au jeu de Pong de Rob <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  . Les bibliothèques SDL.NET et Tao ont été également mise à jour mais il semblerait qu&#8217;elle pose problème sous Linux (faut que je vois si ça vient de Mono ou de Tao).</li>
<li>Demain c&#8217;est la première épreuve du bac blanc qui va durer jusqu&#8217;à mercredi et c&#8217;est&#8230; philosophie (sic).</li>
<li>Circ a avancé, j&#8217;arrive maintenant à me connecter à un serveur IRC <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  . D&#8217;ailleurs je prévois de renommer la bibliothèque IRC qui va avec Circ sous le doux nom de CIL (Circ&#8217;s IRC library) qui est aussi le nom officiel du langage IL utilisé par Mono/.NET (encore une dédicasse aux anti-Monoïstes de service je suppose <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ).</li>
</ul>
<p>Edit: Par hasard je suis tombé sur la page du framework <a href="http://telepathy.freedesktop.org/wiki/">Telepathy</a> que je connaissais déjà de nom mais que je n&#8217;avais jamais vraiment étudié à fond. Cependant j&#8217;ai trouvé que le projet <a href="http://tapioca-voip.sourceforge.net/">Tapioca</a> fournissait des bindings C# pour Telepathy qui propose entre autre un accès IRC. Ce qui me ramène à l&#8217;idée que même la bibliothèque IRC que Circ utilisera devrait être interchangable (mais normalement si mon PAC est bien fait il n&#8217;y aura pas de problème <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  )</p>
]]></description>
			<content:encoded><![CDATA[<ul>
<li>Mono.Xna a bien avancé, dernièrement Rob et duff ont travaillé sur les classes Texture2D et SpriteBatch qui devraient nous permettre d&#8217;atteindre notre deuxième milestone à savoir jouer au jeu de Pong de Rob <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  . Les bibliothèques SDL.NET et Tao ont été également mise à jour mais il semblerait qu&#8217;elle pose problème sous Linux (faut que je vois si ça vient de Mono ou de Tao).</li>
<li>Demain c&#8217;est la première épreuve du bac blanc qui va durer jusqu&#8217;à mercredi et c&#8217;est&#8230; philosophie (sic).</li>
<li>Circ a avancé, j&#8217;arrive maintenant à me connecter à un serveur IRC <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  . D&#8217;ailleurs je prévois de renommer la bibliothèque IRC qui va avec Circ sous le doux nom de CIL (Circ&#8217;s IRC library) qui est aussi le nom officiel du langage IL utilisé par Mono/.NET (encore une dédicasse aux anti-Monoïstes de service je suppose <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ).</li>
</ul>
<p>Edit: Par hasard je suis tombé sur la page du framework <a href="http://telepathy.freedesktop.org/wiki/">Telepathy</a> que je connaissais déjà de nom mais que je n&#8217;avais jamais vraiment étudié à fond. Cependant j&#8217;ai trouvé que le projet <a href="http://tapioca-voip.sourceforge.net/">Tapioca</a> fournissait des bindings C# pour Telepathy qui propose entre autre un accès IRC. Ce qui me ramène à l&#8217;idée que même la bibliothèque IRC que Circ utilisera devrait être interchangable (mais normalement si mon PAC est bien fait il n&#8217;y aura pas de problème <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  )</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.neteril.org/2007/02/01/quick-note-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jouons avec le P/Invoke (et pourquoi Linux est en manque)</title>
		<link>http://blog.neteril.org/2007/01/18/jouons-avec-le-pinvoke-et-pourquoi-linux-est-en-manque/</link>
		<comments>http://blog.neteril.org/2007/01/18/jouons-avec-le-pinvoke-et-pourquoi-linux-est-en-manque/#comments</comments>
		<pubDate>Thu, 18 Jan 2007 18:14:09 +0000</pubDate>
		<dc:creator>Jérémie Laval</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mono.Xna]]></category>

		<guid isPermaLink="false">http://garuma.wordpress.com/2007/01/18/jouons-avec-le-pinvoke-et-pourquoi-linux-est-en-manque/</guid>
		<description><![CDATA[<p>La plupart du code relié aux gamepads Xbox a été commité sur le SVN, néanmoins il reste une méthode qui n&#8217;a pas été implémenté car elle est assez complexe (i.e. fortement dépendante de la plateforme) : SetVibration().</p>
<p>Pour Mono.Xna nous utilisons SDL.NET qui est un wrapper au niveau de Tao.Sdl qui est lui même un binding de la bien connue bibliothèque SDL. SDL est utile dans le sens où elle abstrait les opérations, comme le support des joysticks, sur pas mal de système différent. Le revers de tout ça est que ce qui est permis est assez limité : une fois qu&#8217;on a passé le cap de l&#8217;état des bouttons on peut difficilement faire plus.</p>
<p>Ainsi pour cette opération très spéciale qu&#8217;est le maniement des retours de force du gamepad de la 360, il faut utiliser les API natives. Pour Windows pas de souci, un peu de Googling et j&#8217;ai trouvé la lib XInput qui a été visiblement créée pour être utilisé en interne par XNA. Du côté de MacOS X j&#8217;ai aussi trouvé quelques pistes dans la documentation mais le maniement est plus délicat (l&#8217;API semble permettre des choses puissantes, les vibrations y sont représentés par des effets qui sont paramétrables etc&#8230;, mais elle est plus complexe). Et comme tout bon Linuxien qui se respecte je me devais de faire marcher l&#8217;histoire sous le système Pingouin jusqu&#8217;à que je ne trouve&#8230; rien. Le kernel (et pas Xorg comme je le pensais au début) supporte bien les joysticks mais bizarrement c&#8217;est le même ordre de fonctionnalité que SDL (étrange, étrange <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' />  ). Pour être plus honnête il semble bien y&#8217;avoir une fonction obscure qui permet d&#8217;envoyer des informations bas niveau au joystick mais elle est tellement bas-niveau qu&#8217;il faut manipuler directement les bits ce que je ne peux pas faire vu mon peu d&#8217;expérience assembleur/système ou simplement le fait que je n&#8217;ai pas de contrôleur XBox 360 (si vous avez un cadeau à faire &#8230; <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ). Bref Linux de ce côté là est à mon avis en retard (vis à vis de ces concurrents Windows et MacOS X).</p>
]]></description>
			<content:encoded><![CDATA[<p>La plupart du code relié aux gamepads Xbox a été commité sur le SVN, néanmoins il reste une méthode qui n&#8217;a pas été implémenté car elle est assez complexe (i.e. fortement dépendante de la plateforme) : SetVibration().</p>
<p>Pour Mono.Xna nous utilisons SDL.NET qui est un wrapper au niveau de Tao.Sdl qui est lui même un binding de la bien connue bibliothèque SDL. SDL est utile dans le sens où elle abstrait les opérations, comme le support des joysticks, sur pas mal de système différent. Le revers de tout ça est que ce qui est permis est assez limité : une fois qu&#8217;on a passé le cap de l&#8217;état des bouttons on peut difficilement faire plus.</p>
<p>Ainsi pour cette opération très spéciale qu&#8217;est le maniement des retours de force du gamepad de la 360, il faut utiliser les API natives. Pour Windows pas de souci, un peu de Googling et j&#8217;ai trouvé la lib XInput qui a été visiblement créée pour être utilisé en interne par XNA. Du côté de MacOS X j&#8217;ai aussi trouvé quelques pistes dans la documentation mais le maniement est plus délicat (l&#8217;API semble permettre des choses puissantes, les vibrations y sont représentés par des effets qui sont paramétrables etc&#8230;, mais elle est plus complexe). Et comme tout bon Linuxien qui se respecte je me devais de faire marcher l&#8217;histoire sous le système Pingouin jusqu&#8217;à que je ne trouve&#8230; rien. Le kernel (et pas Xorg comme je le pensais au début) supporte bien les joysticks mais bizarrement c&#8217;est le même ordre de fonctionnalité que SDL (étrange, étrange <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' />  ). Pour être plus honnête il semble bien y&#8217;avoir une fonction obscure qui permet d&#8217;envoyer des informations bas niveau au joystick mais elle est tellement bas-niveau qu&#8217;il faut manipuler directement les bits ce que je ne peux pas faire vu mon peu d&#8217;expérience assembleur/système ou simplement le fait que je n&#8217;ai pas de contrôleur XBox 360 (si vous avez un cadeau à faire &#8230; <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ). Bref Linux de ce côté là est à mon avis en retard (vis à vis de ces concurrents Windows et MacOS X).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.neteril.org/2007/01/18/jouons-avec-le-pinvoke-et-pourquoi-linux-est-en-manque/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Avancement de Mono.Xna&#8230;</title>
		<link>http://blog.neteril.org/2007/01/13/avancement-de-monoxna/</link>
		<comments>http://blog.neteril.org/2007/01/13/avancement-de-monoxna/#comments</comments>
		<pubDate>Sat, 13 Jan 2007 14:28:47 +0000</pubDate>
		<dc:creator>Jérémie Laval</dc:creator>
				<category><![CDATA[Mono.Xna]]></category>

		<guid isPermaLink="false">http://garuma.wordpress.com/2007/01/13/avancement-de-monoxna/</guid>
		<description><![CDATA[<p>&#8230; où comment deux trois stupides couleurs remontent le moral.</p>
<p>Ca y&#8217;est Mono.Xna est capable de faire quelque chose d&#8217;utile (&laquo;&nbsp;utile&nbsp;&raquo; est à relativiser <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ) grâce à super Rob <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  . En effet la dernière version SVN fait tourner (de son petit nom) SimpleExample. Je vous ai mit une vidéo en bas (fait par moi donc très bof).  Vous pouvez aussi allez voir le <a href="http://monotorrent.blogspot.com/2007/01/so-mono.html">blog d&#8217;Alan.</a></p>
<p><a href="http://netherilshade.free.fr/SimpleExample-linux.ogg">Lien vers la vidéo.</a></p>
<p>PS : comme c&#8217;est fait avec VLC il se peut que ça marche qu&#8217;avec VLC <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></description>
			<content:encoded><![CDATA[<p>&#8230; où comment deux trois stupides couleurs remontent le moral.</p>
<p>Ca y&#8217;est Mono.Xna est capable de faire quelque chose d&#8217;utile (&laquo;&nbsp;utile&nbsp;&raquo; est à relativiser <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ) grâce à super Rob <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  . En effet la dernière version SVN fait tourner (de son petit nom) SimpleExample. Je vous ai mit une vidéo en bas (fait par moi donc très bof).  Vous pouvez aussi allez voir le <a href="http://monotorrent.blogspot.com/2007/01/so-mono.html">blog d&#8217;Alan.</a></p>
<p><a href="http://netherilshade.free.fr/SimpleExample-linux.ogg">Lien vers la vidéo.</a></p>
<p>PS : comme c&#8217;est fait avec VLC il se peut que ça marche qu&#8217;avec VLC <img src='http://blog.neteril.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.neteril.org/2007/01/13/avancement-de-monoxna/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
