Updated Articles
[sdlgit/SDL-Site.git] / pages / blog-0021.html-inc
index da0846f..8978342 100644 (file)
@@ -1,6 +1,36 @@
 <div class="blog">
 <h1 id="NAME">
-Catching memory leaks in XS
+SDL Perl Showcase
 </h1>
 <div class="CONTENT">
-<div style="text-align: right;"><i>&nbsp;I slay dragons, yonder</i></div><br />So I am trying to find and plug memory leaks in SDL perl. Most of the <a href="https://rt.cpan.org/Ticket/Display.html?id=49084">memory leaks</a> occur because in XS a reference is still held. One very expensive mem leak was caught by TELS really early on <a href="https://rt.cpan.org/Ticket/Display.html?id=17976">here</a>. The problem occurs where in XS there is<br /><br /><blockquote><i>RETVAL</i><i> = (cast *) safemalloc( ... );</i></blockquote>&nbsp;and safefree(...) is never called.<br />Here is a in <a href="http://github.com/kthakore/SDL_perl/blob/63ebaa682697728f5946f700a2b2c12534b1b821/src/SDL.xs">code example</a> lines 1082 on. <br /><br />My question is how I can mitigate these memory leaks? One idea I had was to store all malloc'd pointers to an array that is safefree'd on DESTROY or hooked into perl GC somehow .<br /><br /><br />Any guidance is helpful.<br /><br /><i>--yapgh</i><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3102167581424744259-7742659740534179607?l=yapgh.blogspot.com'/></div></div></div>
\ No newline at end of file
+<b><br />
+SDL_Mixer and Effects</b><br />
+<br />
+<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/_NnqjAQEn1Xo/S5mzzlA_BPI/AAAAAAAAAJ4/5n62-vSSKzs/s1600-h/playlist.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/_NnqjAQEn1Xo/S5mzzlA_BPI/AAAAAAAAAJ4/5n62-vSSKzs/s320/playlist.png" /></a></div><br />
+This demo shows the new work we have finished for SDL_Mixer support in <a href="http://github.com/kthakore/SDL_perl">SDL_perl</a> . (FROGGS++)<br />
+<br />
+<br />
+<ul><li>&nbsp;Plays ogg files in local directory</li>
+<li>&nbsp;Uses threads and SDL_Mixer effects to extract realtime stereo stream data</li>
+<li>&nbsp;Visulizes stream data as an&nbsp;oscilloscope</li>
+</ul><br />
+<br />
+Get it at: <a href="http://github.com/garu/Spinner/raw/master/data/music/playlist.pl">playlist.pl</a>, you need some<a href="http://github.com/garu/Spinner/tree/master/data/music/"> .ogg files</a> to play in the same directory. Use the down key to go through them.<br />
+<br />
+<b><br />
+SDL_TTF support </b><br />
+<br />
+<br />
+<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/_NnqjAQEn1Xo/S5mz8HnVpkI/AAAAAAAAAKQ/4TV0wJG_GNM/s1600-h/TTF.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/_NnqjAQEn1Xo/S5mz8HnVpkI/AAAAAAAAAKQ/4TV0wJG_GNM/s320/TTF.png" /></a></div><br />
+<br />
+This shows the current work on SDL_TTF support. UTF8 and Uncicode are supported. <br />
+<br />
+See the<a href="http://github.com/kthakore/SDL_perl/tree/redesign/t/ttf.t"> t/ttf.t </a>test in github SDL_perl.<br />
+<br />
+<br />
+<b id="Spinner"><br />
+Spinner (Destiny Swirl) Arcade Game</b><br />
+<div><br />
+</div><div>And finally as a proof of concept we have been working a simple arcade game to test our bugs, and scope out our high level bindings. You can get it at the <a href="http://github.com/garu/Spinner/">Spinner repo</a>. This <a href="http://sdlperl.ath.cx/projects/SDLPerl/wiki/TPMFeb2010">wiki page </a>will help you set up for your platforms.&nbsp;</div><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/_NnqjAQEn1Xo/S5mz1i9fuDI/AAAAAAAAAKA/nWCGR2U2k6I/s1600-h/spinner.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/_NnqjAQEn1Xo/S5mz1i9fuDI/AAAAAAAAAKA/nWCGR2U2k6I/s320/spinner.png" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_NnqjAQEn1Xo/S5mz7Cwi6RI/AAAAAAAAAKI/qV-UwiGaS6E/s1600-h/spinnerII.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/_NnqjAQEn1Xo/S5mz7Cwi6RI/AAAAAAAAAKI/qV-UwiGaS6E/s320/spinnerII.png" /></a></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3102167581424744259-2785864569764497133?l=yapgh.blogspot.com' alt='' /></div>
+<p><a href="http://feedads.g.doubleclick.net/~a/9mDUyjv9tbMACqoghT8ANOyl2tQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/9mDUyjv9tbMACqoghT8ANOyl2tQ/0/di" border="0" ismap="true"></img></a><br/>
+<a href="http://feedads.g.doubleclick.net/~a/9mDUyjv9tbMACqoghT8ANOyl2tQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/9mDUyjv9tbMACqoghT8ANOyl2tQ/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/YetAnotherPerlGameHackeryapgh/~4/WYwrXTKlVjI" height="1" width="1"/></div></div>
\ No newline at end of file