<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=US-ASCII">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2653.12">
<TITLE>RE: Making a pluggable primitive - basic questions</TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=2>David Lewis wrote:</FONT>
</P>

<P><FONT SIZE=2>&gt; For developing your plugin, there is no need to use the latest</FONT>
<BR><FONT SIZE=2>&gt; and greatest VM source or VMMaker. You may find it easier to</FONT>
<BR><FONT SIZE=2>&gt; just get a stable combination of slightly out-of-date Squeak</FONT>
<BR><FONT SIZE=2>&gt; and source code.</FONT>
</P>

<P><FONT SIZE=2>&gt; For stable source, look at www.squeakvm.org. For example, if you</FONT>
<BR><FONT SIZE=2>&gt; are building something for unix/linux, you can use</FONT>
<BR><FONT SIZE=2>&gt;&nbsp;&nbsp; <A HREF="http://www.squeakvm.org/unix/release/Squeak-3.7-7.src.tar.gz" TARGET="_blank">http://www.squeakvm.org/unix/release/Squeak-3.7-7.src.tar.gz</A></FONT>
<BR><FONT SIZE=2>&gt; This contains the platform sources, including sqVirtualMachine.h.</FONT>
</P>

<P><FONT SIZE=2>&gt; Then just use a stable Squeak 3.7 full image, which will include</FONT>
<BR><FONT SIZE=2>&gt; an out-of-date but perfectly servicable VMMaker. The combination</FONT>
<BR><FONT SIZE=2>&gt; should work fine for building plugins. And you *should* build a</FONT>
<BR><FONT SIZE=2>&gt; complete VM, not just your plugin. It will only take a few minutes</FONT>
<BR><FONT SIZE=2>&gt; extra, and it makes it possible to use all the existing configure</FONT>
<BR><FONT SIZE=2>&gt; and make procedures. Once you've done this, you can use VMMaker</FONT>
<BR><FONT SIZE=2>&gt; to regenerate your plugin as you develop it, and the make procedure</FONT>
<BR><FONT SIZE=2>&gt; will rebuild just your plugin as you would expect.</FONT>
</P>

<P><FONT SIZE=2>&gt; The only caution I would add is to be aware that the up-to-date</FONT>
<BR><FONT SIZE=2>&gt; sources are intended to support both 64 bit and 32 bit images, so</FONT>
<BR><FONT SIZE=2>&gt; everything that defaulted to type &quot;int&quot; in the older sources is</FONT>
<BR><FONT SIZE=2>&gt; now defined as type &quot;sqInt&quot;, which might be either 32 bits or</FONT>
<BR><FONT SIZE=2>&gt; 64 bits. Just don't assume that anything defaults to an int, and</FONT>
<BR><FONT SIZE=2>&gt; read <A HREF="http://www.squeakvm.org/squeak64/" TARGET="_blank">http://www.squeakvm.org/squeak64/</A> if you want some more</FONT>
<BR><FONT SIZE=2>&gt; background. But don't lose any sleep over the issue, it's fairly</FONT>
<BR><FONT SIZE=2>&gt; easy to update your plugin for 64 bit later on if you don't feel</FONT>
<BR><FONT SIZE=2>&gt; like worrying about it right now.</FONT>
</P>

<P><FONT SIZE=2>Dave</FONT>
</P>

<P><FONT SIZE=2>Thanks very much for the help. I am absolutely staggered that I managed to do this and in less than an hour. Not sure I did everything correct so please double check me.</FONT></P>

<P><FONT SIZE=2>1. Downloaded the 3.7.1 sources and win32 tools.</FONT>
<BR><FONT SIZE=2>2. Ran the make on the sources, completed without error.</FONT>
<BR><FONT SIZE=2>3. Now the dodgy bit. Thought I would try the new Squeak.exe it built with the 3.8 image and change set. It ran up and appeared to work fine.</FONT></P>

<P><FONT SIZE=2>4. Filed-in my plugin class from my 3.8 system.</FONT>
<BR><FONT SIZE=2>5. Ran VMMakerTool and dragged my SDRPhasingDSPPlugin into the ExternalPlugins. Hit GenerateExternalPlugins and it dropped the 'C' code into the plugins directory.</FONT></P>

<P><FONT SIZE=2>6. Ran make again and it built just the plugin.</FONT>
<BR><FONT SIZE=2>7. Copied the dll over to the root of my 3.8 system and as far as I can tell it does call it because I can change the smalltalk plugin code and it still executes the code I built.</FONT></P>

<P><FONT SIZE=2>Now I need to build the real thing with all my C code (which includes PortAudio) hanging off the plugin.</FONT>
</P>

<P><FONT SIZE=2>Regards</FONT>
<BR><FONT SIZE=2>Bob </FONT>
</P>


<P><STRONG>*** Confidentiality Notice ***</STRONG> 
Proprietary/Confidential<BR>Information belonging to CGI Group Inc. and its 
affiliates<BR>may be contained in this message. If you are not a 
recipient<BR>indicated or intended in this message (or responsible 
for<BR>delivery of this message to such person), or you think for<BR>any reason 
that this message may have been addressed to you<BR>in error, you may not use or 
copy or deliver this message<BR>to anyone else.&nbsp; In such case, you should 
destroy this<BR>message and are asked to notify the sender by reply 
email.</P>
</BODY>
</HTML>