<?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>The Devign Path&#187; Development Tutorials</title>
	<atom:link href="http://thedevignpath.com/archives/category/devtutorials/feed" rel="self" type="application/rss+xml" />
	<link>http://thedevignpath.com</link>
	<description>design + development = devign</description>
	<lastBuildDate>Sat, 28 Aug 2010 12:16:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>How to use browser back-button functionality with JavaScript</title>
		<link>http://thedevignpath.com/archives/70</link>
		<comments>http://thedevignpath.com/archives/70#comments</comments>
		<pubDate>Sun, 28 Feb 2010 10:03:43 +0000</pubDate>
		<dc:creator>iampeterbanjo</dc:creator>
				<category><![CDATA[Development Tutorials]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://thedevignpath.com/archives/70</guid>
		<description><![CDATA[Use jQuery BBQ plugin in combination with hash change plugin to listen for window has change events. Let’s assume that you have a button with an ID of ‘button’. Let’s assume it does something useful like close a pop-up but (&#8230;)</p><p><a href="http://thedevignpath.com/archives/70">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Use <a href="http://benalman.com/projects/jquery-bbq-plugin/">jQuery BBQ plugin</a> in combination with <a href="http://benalman.com/projects/jquery-hashchange-plugin/">hash change plugin</a> to listen for window has change events. </p>
<p>Let’s assume that you have a button with an ID of ‘button’. Let’s assume it does something useful like close a pop-up but it can do anything really.</p>
<p>e.g. </p>
<div class="csharpcode">
<pre><span class="lnum">   1:  </span><span class="rem">//listen for hash tag changes so we can remove the popup</span></pre>
<pre><span class="lnum">   2:  </span>$(window).bind(<span class="str">'hashchange'</span>,</pre>
<pre><span class="lnum">   3:  </span>    <span class="kwrd">function</span>(<span class="kwrd">event</span>){</pre>
<pre><span class="lnum">   4:  </span>        <span class="rem">//did we add or substract the hash?</span></pre>
<pre><span class="lnum">   5:  </span>        <span class="kwrd">var</span> currentHash = window.location.hash;</pre>
<pre><span class="lnum">   6:  </span>        currentHash = currentHash.slice(1);                    </pre>
<pre><span class="lnum">   7:  </span>        <span class="kwrd">if</span>(window.console &amp;&amp; debug){</pre>
<pre><span class="lnum">   8:  </span>            console.log([<span class="str">'listings.js: hashchange event detected. currentHash is '</span>, currentHash ].join(<span class="str">''</span>));</pre>
<pre><span class="lnum">   9:  </span>        } </pre>
<pre><span class="lnum">  10:  </span>&#160;</pre>
<pre><span class="lnum">  11:  </span>        <span class="kwrd">if</span>(currentHash === <span class="str">'close'</span> || currentHash === <span class="str">''</span>){</pre>
<pre><span class="lnum">  12:  </span>            <span class="rem">//remove event listener to prevent premature trigger</span></pre>
<pre><span class="lnum">  13:  </span>            $(window).unbind(<span class="str">'hashchange'</span>); </pre>
<pre><span class="lnum">  14:  </span>            <span class="kwrd">if</span>(window.console &amp;&amp; debug){</pre>
<pre><span class="lnum">  15:  </span>                console.log(<span class="str">'listings.js: haschange event unbound '</span>);</pre>
<pre><span class="lnum">  16:  </span>                console.log([<span class="str">'listings.js: haschange event.trigger is '</span>,<span class="kwrd">event</span>.target].join(<span class="str">''</span>));</pre>
<pre><span class="lnum">  17:  </span>           } </pre>
<pre><span class="lnum">  18:  </span>&#160;</pre>
<pre><span class="lnum">  19:  </span>            $(<span class="str">&quot;#button&quot;</span>).trigger(<span class="str">'click'</span>);</pre>
<pre><span class="lnum">  20:  </span>        } <span class="kwrd">else</span> {</pre>
<pre><span class="lnum">  21:  </span>            <span class="kwrd">if</span>(window.console &amp;&amp; debug){</pre>
<pre><span class="lnum">  22:  </span>                console.log(<span class="str">'hash is not empty. doing nothing.'</span>);</pre>
<pre><span class="lnum">  23:  </span>            } </pre>
<pre><span class="lnum">  24:  </span>        } </pre>
<pre><span class="lnum">  25:  </span>        <span class="kwrd">event</span>.preventDefault();</pre>
<pre><span class="lnum">  26:  </span>    }</pre>
<pre><span class="lnum">  27:  </span>);</pre>
</div>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<h3>What’s with the Array.join(‘’) method? </h3>
<p>Well <a href="http://code.google.com/speed/">I learnt from Google</a> that this method <a href="http://code.google.com/speed/articles/optimizing-javascript.html">is faster</a> than concatenating a string with ‘+’. I’m always learning new ways to write better code.</p>
<h3>Recommended reading</h3>
<p><a href="https://developer.mozilla.org/En/DOM/Window.location">https://developer.mozilla.org/En/DOM/Window.location</a></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://thedevignpath.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://thedevignpath.com/archives/70/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting started for Qt and C++ development on windows</title>
		<link>http://thedevignpath.com/archives/67</link>
		<comments>http://thedevignpath.com/archives/67#comments</comments>
		<pubDate>Sun, 28 Feb 2010 09:45:59 +0000</pubDate>
		<dc:creator>iampeterbanjo</dc:creator>
				<category><![CDATA[Development Tutorials]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[IDE]]></category>

		<guid isPermaLink="false">http://thedevignpath.com/archives/67</guid>
		<description><![CDATA[I came across a programming framework called Qt that has recently been acquired by Nokia. It’s primarily for C++ based development and allows you to write code which can be compiled for Windows, Linux AND mobile. It’s the mobile part (&#8230;)</p><p><a href="http://thedevignpath.com/archives/67">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>I came across a programming framework called <a href="http://qt.nokia.com/">Qt</a> that has recently been acquired by Nokia. It’s primarily for C++ based development and allows you to write code which can be compiled for Windows, Linux AND mobile. It’s the mobile part that really got me interested. <a href="http://qt.nokia.com/qt-in-use/about/introduction-to-qt-video">Check out these videos</a> if you’re curious.</p>
<p>Unfortunately, as with most frameworks, the binary installer doesn’t do EVERYTHING you need to get started. So noob-to-noob this is how I got myself started on Qt on Windows.</p>
<h3>Install binaries</h3>
<p><a href="http://qt.nokia.com/downloads">Get</a> the <a href="http://qt.nokia.com/downloads/sdk-windows-cpp">Qt SDK</a> and <a href="http://qt.nokia.com/downloads/windows-cpp">Qt Libraries</a> 4.6.2 and install.</p>
<h3>Set paths</h3>
<p>Go to: Start menu &gt; Computer (Right click) &gt; Properties &gt; Advanced properties &gt; Environment variables </p>
<p>Add these to PATH (Path &gt; Edit)    <br />C:\Qt\2010.02\mingw\bin;     <br />C:\Qt\4.6.2\bin;     <br />C:\Qt\2010.02\mingw\mingw32\bin;     <br />C:\Qt\4.6.2\qmake\generators\win32; </p>
<p>Add new for user    <br />QMAKESPEC win32-g++     <br />QTDIR C:\Qt\4.6.2 </p>
<p>Edit classpath    <br />C:\Qt\2010.02\mingw\bin;     <br />C:\Qt\4.6.2\bin; </p>
<p>Log out and login or restart for changes to take effect </p>
<h3>Build Qt Libraries</h3>
<p>Go to: C:\Qt\4.6.2\bin </p>
<p>Open qtvars.bat    <br />Save as qtvars.bak.txt     <br />Edit qtvars.bat     <br />Delete all lines that modify the PATH i.e. lines 6 &#8211; 17. </p>
<p>Open command window in C:\Qt\4.6.2\bin    <br />Run: qtvars.bat compile_debug </p>
<p>Go to: Start &gt; Programs &gt; Qt by Nokia 4.6.2 &gt; Qt 4.6.2 (Build debug libraries) </p>
<p>Sip coffee while you wait. . . wait . . . wait.</p>
<h4>UPDATE</h4>
<p>You don’t need to build the libraries to get the IDE to work.</p>
<p>If you get this error when you run a build (probably going through a tutorial like I did) -</p>
<blockquote><p>C: \ Qt \ 2010.02.1 \ qt \ lib / libqtmaind.a (qtmain_win.o): In function `WinMain @ 16 &#8216;:     <br />C: \ qt-greenhouse \ Trolltech \ Code_less_create_more \ Trolltech \ Code_less_create_more \ Troll \ 4.6 \ qt \ src \ winmain / qtmain_win.cpp: 131: undefined reference to `qMain (int, char **)</p>
</blockquote>
<p>It’s because your function doesn’t have a main method. So try this &#8211; </p>
<div class="csharpcode">
<pre class="alt"><span class="lnum">   1:  </span><span class="kwrd">int</span> main(<span class="kwrd">int</span> argc, <span class="kwrd">char</span> **argv){</pre>
<pre><span class="lnum">   2:  </span>  <span class="rem">//code goes here</span></pre>
<pre class="alt"><span class="lnum">   3:  </span>}</pre>
</div>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://thedevignpath.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://thedevignpath.com/archives/67/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>JavaScript debugging &#8211; keeping track of your variables</title>
		<link>http://thedevignpath.com/archives/66</link>
		<comments>http://thedevignpath.com/archives/66#comments</comments>
		<pubDate>Sun, 28 Feb 2010 09:32:00 +0000</pubDate>
		<dc:creator>iampeterbanjo</dc:creator>
				<category><![CDATA[Development Tutorials]]></category>

		<guid isPermaLink="false">http://thedevignpath.com/archives/66</guid>
		<description><![CDATA[Technorati Tags: javascript,debugging,web development One problem that I keep running into writing JavaScript is trying to keep track of all the objects and variables. With other programming languages your IDE of choice helps you step in and out of functions, (&#8230;)</p><p><a href="http://thedevignpath.com/archives/66">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:2f88af41-4298-471d-bb05-71993fed084d" class="wlWriterEditableSmartContent">Technorati Tags: <a href="http://technorati.com/tags/javascript" rel="tag">javascript</a>,<a href="http://technorati.com/tags/debugging" rel="tag">debugging</a>,<a href="http://technorati.com/tags/web+development" rel="tag">web development</a></div>
<p>One problem that I keep running into writing JavaScript is trying to keep track of all the objects and variables. With other programming languages your IDE of choice helps you step in and out of functions, insert breakpoints and show you how your variables are being modified. What do you do if you are writing JavaScript which doesn’t have this level of support and you don’t want your console logs printing out on a live site?</p>
<p>I use -</p>
<div class="csharpcode">
<pre class="alt"><span class="lnum">   1:  </span><span class="kwrd">if</span>(window.console &amp;&amp; debug){</pre>
<pre><span class="lnum">   2:  </span>    console.log(<span class="str">'my variables '</span>);</pre>
<pre class="alt"><span class="lnum">   3:  </span>}</pre>
<pre><span class="lnum">   4:  </span>&#160;</pre>
<pre class="alt"><span class="lnum">   5:  </span>var debug = <span class="kwrd">true</span>;</pre>
</div>
<style type="text/css">
<p>.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p>What this statement does is check for an instance of a console. The console is a web development aid included most modern browsers, excluding Internet Explorer.&#160; If it present, “window.console” is true which avoids IE throwing errors when it gets to “console.log”.</p>
<p>The next variable is “debug”. I set this to false once the code is ready.</p>
<p>The benefit is I can log the progress of my program(s) in JavaScript as I develop. If the code is sent back for modifications/improvements/troubleshooting I can turn on the logging and more quickly find out where the problem is. Most useful before 10:30 am and at around 3 pm. <img src='http://thedevignpath.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://thedevignpath.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://thedevignpath.com/archives/66/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Looping sounds in ActionScript 3</title>
		<link>http://thedevignpath.com/archives/36</link>
		<comments>http://thedevignpath.com/archives/36#comments</comments>
		<pubDate>Sun, 01 Mar 2009 19:19:27 +0000</pubDate>
		<dc:creator>iampeterbanjo</dc:creator>
				<category><![CDATA[Development Tutorials]]></category>
		<category><![CDATA[flash actionscript3 sounds]]></category>

		<guid isPermaLink="false">http://thedevignpath.com/archives/36</guid>
		<description><![CDATA[ActionScript 3 has done quite a few things differently to ActionScript 2. I was doing a lot of programming in C# before I got a chance to play around with it and it looked quite familiar – maybe the whole (&#8230;)</p><p><a href="http://thedevignpath.com/archives/36">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>ActionScript 3 has done quite a few things differently to ActionScript 2. I was doing a lot of programming in C# before I got a chance to play around with it and it looked quite familiar – maybe the whole Object Oriented Programming things is catching on.</p>
<p>Anyway – tried to loop a sound clip in Flash and it was a lot more painful than I expected so I made a note in my work diary that looked like this -</p>
<blockquote><p>25 February 2009 </p>
<p>To loop a sound clip in Flash using ActionScript 3 refer to &#8211;      <br /><a href="http://doogog.com/music-looping-in-as3.html">http://doogog.com/music-looping-in-as3.html</a></p>
<p>The code I developed also has a method to stop the music using a button is -</p>
<div class="csharpcode">
<pre class="alt"><span class="lnum">   1:  </span><span class="rem">//Stop at this frame</span></pre>
<pre><span class="lnum">   2:  </span>stop(); </pre>
<pre class="alt"><span class="lnum">   3:  </span>&#160;</pre>
<pre><span class="lnum">   4:  </span><span class="rem">//Create a new sound object</span></pre>
<pre class="alt"><span class="lnum">   5:  </span>var music:Sound = <span class="kwrd">new</span> Sound()</pre>
<pre><span class="lnum">   6:  </span>&#160;</pre>
<pre class="alt"><span class="lnum">   7:  </span><span class="rem">//Set location of sound file – if it is external – using a URLRequest object</span></pre>
<pre><span class="lnum">   8:  </span>var req:URLRequest = <span class="kwrd">new</span> URLRequest(<span class="str">&quot;audio/bongos.mp3&quot;</span>);</pre>
<pre class="alt"><span class="lnum">   9:  </span>&#160;</pre>
<pre><span class="lnum">  10:  </span><span class="rem">//Create a new SoundChannel object</span></pre>
<pre class="alt"><span class="lnum">  11:  </span>var channel:SoundChannel; </pre>
<pre><span class="lnum">  12:  </span>&#160;</pre>
<pre class="alt"><span class="lnum">  13:  </span><span class="rem">//load music file – via url request object – into channel object</span></pre>
<pre><span class="lnum">  14:  </span>music.load(req);</pre>
<pre class="alt"><span class="lnum">  15:  </span>playMusic(); </pre>
<pre><span class="lnum">  16:  </span>&#160;</pre>
<pre class="alt"><span class="lnum">  17:  </span><span class="rem">//Boolean checks if the sound is playing</span></pre>
<pre><span class="lnum">  18:  </span>var musicIsOn:Boolean = <span class="kwrd">true</span>;</pre>
<pre class="alt"><span class="lnum">  19:  </span>&#160;</pre>
<pre><span class="lnum">  20:  </span><span class="rem">//An event listener for a button that stops the music</span></pre>
<pre class="alt"><span class="lnum">  21:  </span>btnMusic.addEventListener(MouseEvent.CLICK, stopMusic); </pre>
<pre><span class="lnum">  22:  </span>&#160;</pre>
<pre class="alt"><span class="lnum">  23:  </span>function stopMusic(evt:Event):<span class="kwrd">void</span> {</pre>
<pre><span class="lnum">  24:  </span>    <span class="kwrd">if</span>(musicIsOn)</pre>
<pre class="alt"><span class="lnum">  25:  </span>    {</pre>
<pre><span class="lnum">  26:  </span>        trace(<span class="str">&quot;stop&quot;</span>);</pre>
<pre class="alt"><span class="lnum">  27:  </span>        channel.stop();</pre>
<pre><span class="lnum">  28:  </span>        musicIsOn = <span class="kwrd">false</span>;</pre>
<pre class="alt"><span class="lnum">  29:  </span>    } <span class="kwrd">else</span> {</pre>
<pre><span class="lnum">  30:  </span>        playMusic();</pre>
<pre class="alt"><span class="lnum">  31:  </span>        musicIsOn = <span class="kwrd">true</span>;</pre>
<pre><span class="lnum">  32:  </span>    }</pre>
<pre class="alt"><span class="lnum">  33:  </span>} </pre>
<pre><span class="lnum">  34:  </span>&#160;</pre>
<pre class="alt"><span class="lnum">  35:  </span>function playMusic():<span class="kwrd">void</span>{</pre>
<pre><span class="lnum">  36:  </span>    trace(<span class="str">&quot;play&quot;</span>);</pre>
<pre class="alt"><span class="lnum">  37:  </span>&#160;</pre>
<pre><span class="lnum">  38:  </span><span class="rem">//play music through the SoundChannel</span></pre>
<pre class="alt"><span class="lnum">  39:  </span>    channel = music.play();</pre>
<pre><span class="lnum">  40:  </span>&#160;</pre>
<pre class="alt"><span class="lnum">  41:  </span><span class="rem">//add an event listener that reacts when the sound being played </span></pre>
<pre><span class="lnum">  42:  </span><span class="rem">//is completed and repeats the sound</span></pre>
<pre class="alt"><span class="lnum">  43:  </span>    channel.addEventListener(Event.SOUND_COMPLETE, repeat);</pre>
<pre><span class="lnum">  44:  </span>} </pre>
<pre class="alt"><span class="lnum">  45:  </span>&#160;</pre>
<pre><span class="lnum">  46:  </span>function repeat(evt:Event):<span class="kwrd">void</span> {</pre>
<pre class="alt"><span class="lnum">  47:  </span>    <span class="kwrd">if</span>(channel != <span class="kwrd">null</span>)</pre>
<pre><span class="lnum">  48:  </span>    {</pre>
<pre class="alt"><span class="lnum">  49:  </span>&#160;</pre>
<pre><span class="lnum">  50:  </span><span class="rem">//without removing the event listener the sound clip will play only twice</span></pre>
<pre class="alt"><span class="lnum">  51:  </span><span class="rem">//I am not sure why but it feels like the event listener gets disposed of</span></pre>
<pre><span class="lnum">  52:  </span><span class="rem">//once used by default.</span></pre>
<pre class="alt"><span class="lnum">  53:  </span>        channel.removeEventListener(Event.SOUND_COMPLETE, repeat);</pre>
<pre><span class="lnum">  54:  </span>        playMusic();</pre>
<pre class="alt"><span class="lnum">  55:  </span>    }</pre>
<pre><span class="lnum">  56:  </span>}</pre>
</p></div>
<style type="text/css">
<p>.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
</blockquote>
<p>I hope you found that useful.</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d25d9243-e82d-4ed1-861a-a7a69f44279d" class="wlWriterEditableSmartContent">Technorati Tags: <a href="http://technorati.com/tags/flash+actionscript3+sounds" rel="tag">flash actionscript3 sounds</a></div>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://thedevignpath.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://thedevignpath.com/archives/36/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Adding external tools to Visual Studio 2008</title>
		<link>http://thedevignpath.com/archives/18</link>
		<comments>http://thedevignpath.com/archives/18#comments</comments>
		<pubDate>Sun, 22 Feb 2009 11:34:49 +0000</pubDate>
		<dc:creator>iampeterbanjo</dc:creator>
				<category><![CDATA[Development Tutorials]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[command prompt]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[external tools]]></category>
		<category><![CDATA[visual studio]]></category>
		<category><![CDATA[windows communication foundation]]></category>

		<guid isPermaLink="false">http://thedevignpath.com/archives/18</guid>
		<description><![CDATA[Often times Visual Studio will try and help you by launching some tool or function when you build a project. But sometimes you might want to use these tools outside of the prescribed work flow or maybe you just want (&#8230;)</p><p><a href="http://thedevignpath.com/archives/18">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Often times Visual Studio will try and help you by launching some tool or function when you build a project. But sometimes you might want to use these tools outside of the prescribed work flow or maybe you just want quick access to your “utility belt”.</p>
<ol>
<li>From the menu bar select “Tools” followed by “External Tools”
<p><a href="http://thedevignpath.com/wp-content/uploads/2009/02/thedevignpath20090222-101206.jpg"><img style="display: inline; border-width: 0px;" title="Select &quot;Tools&quot; then &quot;External Tools&quot;" src="http://thedevignpath.com/wp-content/uploads/2009/02/thedevignpath20090222-101206-thumb.jpg" border="0" alt="Select &quot;Tools&quot; then &quot;External Tools&quot;" width="142" height="244" /></a></li>
<li>From the “External Tools” menu, click on “Add” to make a new entry.<a href="http://thedevignpath.com/wp-content/uploads/2009/02/thedevignpath20090222-101226.jpg"><img style="display: inline; border-width: 0px;" title="Click on &quot;Add&quot;" src="http://thedevignpath.com/wp-content/uploads/2009/02/thedevignpath20090222-101226-thumb.jpg" border="0" alt="Click on &quot;Add&quot;" width="216" height="244" /></a></li>
<li>Enter the appropriate information for the new “External Tool”<a href="http://thedevignpath.com/wp-content/uploads/2009/02/thedevignpath20090222-101252.jpg"><img style="display: inline; border-width: 0px;" title="Enter external tool details" src="http://thedevignpath.com/wp-content/uploads/2009/02/thedevignpath20090222-101252-thumb.jpg" border="0" alt="Enter external tool details" width="216" height="244" /></a></li>
</ol>
<p>Here are the settings for two external tools that I have added.</p>
<p>The first is for <a href="http://en.wikipedia.org/wiki/Windows_Communication_Foundation"><strong>Windows Communication Foundation</strong></a><strong> Test Client</strong> that allows you to test the host services that you create in Visual Studio. Be sure to select “Prompt for arguments” so you can enter the location of the service that you are testing.</p>
<blockquote><p><a href="http://thedevignpath.com/wp-content/uploads/2009/02/thedevignpath20090222-101330.jpg"><img style="display: inline; border-width: 0px;" title="Windows Communication Foundation tool details" src="http://thedevignpath.com/wp-content/uploads/2009/02/thedevignpath20090222-101330-thumb.jpg" border="0" alt="Windows Communication Foundation tool details" width="216" height="244" /></a><br />
Command = C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\WcfTestClient.Exe</p></blockquote>
<p>Next are the settings for the <strong>Visual Studio 2008 command prompt</strong>. This came in handy to enter some configuration commands for Visual Studio – more on that in another post.</p>
<blockquote><p><a href="http://thedevignpath.com/wp-content/uploads/2009/02/thedevignpath20090222-101350.jpg"><img style="display: inline; border-width: 0px;" title="Visual Studio command prompt tools details" src="http://thedevignpath.com/wp-content/uploads/2009/02/thedevignpath20090222-101350-thumb.jpg" border="0" alt="Visual Studio command prompt tools details" width="216" height="244" /></a><br />
Command = cmd.exe</p>
<p>Arguments = %comspec% /k &#8220;&#8221;H:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat&#8221;" x86</p>
<p>Initial directory = $(ProjectDir)</p></blockquote>
<p>What external tools have you added?</p>
<div id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:0b505d7f-e97e-4fa4-a394-ac6ebb21bfca" class="wlWriterEditableSmartContent" style="margin: 0px; display: inline; float: none; padding: 0px;">Technorati Tags: <a rel="tag" href="http://technorati.com/tags/visual+studio+2008">visual studio 2008</a>,<a rel="tag" href="http://technorati.com/tags/external+tools">external tools</a>,<a rel="tag" href="http://technorati.com/tags/windows+communication+foundation+test+client">windows communication foundation test client</a>,<a rel="tag" href="http://technorati.com/tags/command+prompt">command prompt</a></div>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://thedevignpath.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://thedevignpath.com/archives/18/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
