What is keyMW ?

KeyMW is a set of extensions to Apple Media Tool Programming Environment 2.0 that allows you to use the Metrowerks MPW tools and libraries to build your AMTPE projects.

What are the benefits of using keyMW ?

The Metrowerks MPW compilers and linkers are fast, very fast. You will get a much faster compile&link turn-around. You can write your external C/C++ code using the IDE, which is pretty cool, especially if you use a lot of external code in your projects. Also, the Metrowerks Debugger is rather neat and fast. Just take a look at the Watchpoint features, I'd dream every debugger would have that. And you can still use the PowerMac Debugger if you need more control over CFM fragments and so on.

Can I use the CodeWarrior IDE to work on my AMTPE projects ?

KeyMW is the base component of a more general solution that allows you to do this. keyMW only allows you to build your project in the MPW environment. If you want to work on and build your AMTPE project from within CodeWarrior, you will need to install the keyCodeWarrior set of files.

What do I need to use keyMW ?

Apart from the keyMW set of files, you will need the following :

-Apple Media Tool Programming Environment v 2.0
-Metrowerks CodeWarrior CW9 release's CodeWarrior MPW tools and libraries

Will keyMW work with versions of CodeWarrior prior to CW9 ?

This has not been tested, but it may be working.

  • Will keyMW work on a 68K Macintosh ?

    Yes, although it will be faster with a PowerMac.

  • Will keyMW work with AMTE custom engines ?

    Yes, if they do not use external C code. keyMW includes modified versions of the Key libraries and Key VR libraries that can correctly link against the Metrowerks Runtime and ANSI libraries. This provides support for the AMTE standard and minimal engines. If you use custom engines or libraries, then you will need either the external C source code to recompile it against the Metrowerks interfaces, or ask for a Metrowerks-savvy version of the libraries.
    This limitation especially arises for 68K libraries. PowerPC libraries may be usable 'as is'.

  • How do I install keyMW ?

    Please refer to the 'keyMW Quick Guide' instructions.

  • What is keyCodeWarrior ?

    KeyCodeWarrior is a set of extensions to Apple Media Tool Programming Environment 2.0 that allows you to work on your AMTPE project from within CodeWarrior's IDE, including support of the Class Browser on AML classes and objects. It uses Tool Server to inv oke the MPW K compiler tool.

  • What are the benefits of using keyCodeWarrior ?

    One of the main benefits is the ability to use the IDE's class browser on K code. This is especially cool with CodeWarrior 1.6.2 new graphical hierarchy browser. This is achieved through a K compiler plugin that generates the browse information for the IDE . Along with it comes a set of AppleScript droplets, MPW scripts and MPW Perl scripts that use Tool Server and CodeWarrior to automatically generate or update a CodeWarrior project from your MPW project. One of the future directions is to make the integra tion even more seamless by allowing K debugging from within the IDE. For the moment you'll still have to switch back to MPW to debug K code.

  • What is keyCodeWarrior Light ?

    'keyCodeWarrior Light' is a limited version of keyCodeWarrior that allows you to use the IDE's class browser on K code, but does not offer CodeWarrior build/update support for your projects. You do not need keyMW or Perl to use 'KeyCodeWarrior Light', alth ough you will need CodeWarrior IDE 1.6 or later.

  • What do I need to use keyCodeWarrior ?

    You will need the following :
    - the keyMW set of files
    - the keyCodeWarrior set of files
    - Apple Media Tool Programming Environment v 2.0
    - Metrowerks CodeWarrior CW9 release's CodeWarrior MPW tools and libraries
    - CodeWarrior IDE 1.6

    You can download keyCodeWarrior from either of the following sites :

    <ftp://ftp.ccs.queensu.ca/pub/macintosh/amt2.0>

    <ftp://ftp.sky4studios.be/sky4/pub/ThirdParty/MetrowerksKey1.2.1.sit.hqx>

    If you want to use the class hierarchy graphical browser, you will also need the CodeWarrior IDE 1.6.2 or 1.6.3 updates, available from the <http://www.metrowerks.com> site.

    If you want to automatically generate and update your key CodeWarrior projects, you will also need the following :
    - AppleScript
    - the MPW Perl tool

  • Where I can I get the MPW Perl tool ?

    MPW Perl is a public domain tool which you can download from any info-mac mirror sites, (look for: info-mac/dev/mac-perl-418-tool.hqx)
    or from :
    <http://hyperarchive.lcs.mit.edu/HyperArchive/Archive/dev/mac-perl-418-to ol.hqx>

  • Will keyCodeWarrior work with versions of CodeWarrior prior to CW9 ?

    This has not been tested, but it will probably not work, due to the changes in browser and plug-ins formats and API's.

  • Will keyCodeWarrior work on a 68K Macintosh ?

    Yes, but with one important limitation : the K compiler messages will not be echoed back from ToolServer to the IDE's message window. So if you have compile errors, you won't know where or what they are, unless you run the K compiler again from MPW shell. This limitation only appears on 68K machines, not on PowerMac's.

  • Are there other limitations with keyCodeWarrior ?

    Apart from the limitations already mentionned, you have to be aware that the automatic project generation features assume that the CodeWarrior IDE, the MPW Interfaces & Libraries and the Key Folder are on the same volume. However, your projects can be on a ny volume. This limitation might be removed in a future version, but it would require the use of absolute pathes within the CodeWarrior project for the offending files, which is not so cool if you need to transfer your project to another machine.

    There is also a bug with the K MPW compiler tool whenever any K project files are open in the IDE when it is invoked. It fails in opening the files for compiling them. The work-around is to close all K files in the IDE before building the project (you can option-click in the close box of any open file to achieve that). I hope I can get this fixed as soon as possible, although I am not sure the bug is only on my side.

    Another current limitation is that the browse info is case-sensitive. This means if a method name is spelled 'Goto' and you call it by typing 'GoTo', the browser won't find the method definition when you option-click on the 'GoTo' call. This won't keep the code from compiling and running as it should. Reasons for this limitation arise from the sometimes strange behavior of CodeWarrior's browse system, and the fact that the Browse Format documentation is not quite accurate or complete. Fixing this limitation is very high on my priority list.

  • How do I install keyCodeWarrior ?

    Please refer to the 'keyCodeWarrior Quick Guide' instructions.

  • Are these tools free ?

    I ask people who find these tools helpful to consider the nights of extra work involved, and contribute a small shareware fee. Suggested shareware fees are
    - $15 for keyMW
    - $15 for keyCodeWarrior Light
    - $30 for the full package (keyMW + keyCodeWarrior)

  • How do I register ?

    Paying for KeyMetrowerks is fairly simple. Open the Register program that accompanies KeyMetrowerks. Enter your name, your email address, and the number of single user licenses you desire for each program you wish to purchase. Save or Copy or Print the dat a from the Register program and send the data and payment to Kagi. Kagi handles my payment processing.

    If paying with Credit Card or First Virtual , you can email or fax the data to Kagi. Their email address is sales@kagi.com and their fax number is +1 510 652-6589. You can either Copy the data from Register and paste into the body of an email message or you can Save the data to a file and you can at tach that file to an email message. There is no need to compress the data file, it's already pretty small. If you have a fax modem, just Print the data to the Kagi fax number.

    Payments sent via email are processed within 3 to 4 days. You will receive an email acknowledgement when it is processed. Payments sent via fax take up to 10 days and if you provide a correct internet email address you will receive an email acknowledgement .

    If you are paying with Cash or USD Check you should print the data using the Register application and send it to the address shown on the form, which is:
    Kagi
    1442-A Walnut Street #392-FN
    Berkeley,
    California 94709-1405
    USA

    You can pay with a wide variety of cash from different countries but at present if you pay via check, it must be a check drawn in US Dollars. Kagi cannot accept checks in other currencies, the conversion rate for non-USD checks is around USD 15 per check a nd that is just not practical.

    If you have a purchasing department, you can enter all the data into the Register program and then select Invoice as your payment method. Print three copies of the form and send it to your accounts payable people. You might want to highlight the line that mentions that they must include a copy of the form with their payment. Kagi can not invoice your company, you nee d to act on my behalf and generate the invoice and handle all the paperwork on your end.

    Please do not fax or email payment forms that indicate Cash, Check or Invoice as the payment method. As far as we know, there is still no technology to transfer physical objects via fax or email and without the payment, the form cannot be processed.

    Payments send via postal mail take time to reach Kagi and then up to 10 days for processing. Again, if you include a correct email address, you will hear from Kagi when the form is processed.

    Registering will entitle you to stay up to date on bug fixes and new features.

    Fabien Samuel
    Software Tools Architect
    Opti Media, Paris
    e-mail : OPTI.MEDIA@applelink.apple.com or fabien@kagi.com