[Please note: this is a text only version of the on-line magazine, OS/2 e-Zine!. OS/2 e-Zine! is a graphical, WWW OS/2 publication and, if possible, should be viewed in its HTML format available on-line or zipped for off-line reading. For best reading of this ASCII version of OS/2 e-Zine!, use a text editor at full-screen width.] OS/2 e-Zine! December 1996 Volume 1 Number 14 ---------------------------------------------------------------- Copyright 1996 Haligonian Media ISSN 1203-5696 OPINIONS: From the Editor Chris' Rant the Raves ... Slice/2 & Splice/2 ... TransWarp PlusPak RESOURCES: the Beta File Answers from e-Zine! Chris' ColorWorks Power Tips Object Desktop Tips Need for Speed the REXX Files How Do I? REVIEWS: OS/2 & Music Misc Reviews Games CD Players WPTools v1.9 CFSPoker v1.03 MOD Players YAOS v1.6 STI Twain Plug-in for ColorWorks FIRST LOOKS: Corel Office for Java - Christopher B. Wright ARTICLES: * COMDEX Report and Rumours - Doug Hicken Our man on the floor gives his thoughts on North America's largest computer fest. * How to Share an Internet Connection - Ethan Hall-Beyer Sharing one dial-up connection on an OS/2 network can solve many problems in cramped quarters. Here's how our reviewer did it. * A Retail Experience: Minzloff Data - Chris Williams Finding islands of OS/2 sanity can be a rare treat. Chris Williams visits one in Switzerland... * Warp's Manifold Offerings - Larry Ayers Sorting through all the bells and whistles of Warp 4 can take some time and patience but it can be worth it. END NOTES: * Warped Rumours * NetHead's Nook * The Chronicles of John Ominor * Hot Sellers - the top 10 selling OS/2 shareware applications. ODDS & ENDS: * How to Subscribe to OS/2 e-Zine! for FREE. * How YOU can Sponsor OS/2 e-Zine! * The Sponsors that Make this Issue Possible Copyright 1996 - Haligonian Media ISSN 1203-5696 *********************************** Changes and Shake-ups ---------- By now, everyone in the OS/2 community has heard that OS/2 Magazine, long running Miller Freeman publication, will cease publishing after January, 1997. There has been a lot of talk on the Internet regarding this news and its meaning. Some feel it proves that OS/2 is doomed, others maintain the news reflects only on the direction OS/2 Magazine had taken in the past year(s). Those who know me are already aware of my opinions on OS/2 Magazine 's closure but for those who don't, let me say officially and personally I am very sad to see them go. While I obviously believe in the power of electronic media, I strongly believe that traditional print magazines bring unique and indisputable benefits to their readers. Last month, I had the opportunity to discuss the closure with well known OS/2 Magazine REXX columnist, Dick Goran. When he heard the news that January's would be the last column he sent to OS/2 Magazine, Mr. Goran intended to include a "goodbye" message to his readers in his column. For various reasons though, that message will not make it in January's issue. So, to be even more timely, I offered to give him a forum here to say thank you to his readers: "It has been my pleasure to write for OS/2 Magazine for the past three years. I'm sorry to say that this is my final column. Our (http://www.cfsrexx.com/) WWW site and (ftp://ftp.cfsrexx.com/pub/) FTP server will remain active. I will continue to post utilities as well as other REXX-related information there for all to access anonymously. My REXX and OS/2 advocacy will continue as will my REXX training and consulting. The new edition of our REXX Reference Summary Handbook, with all of the Warp Version 4 updates, is available and full details can be found on our Web site." On a more positive note, one notable OS/2 software vendor has announced plans to jump into the print OS/2 magazine arena, and of course, there are still high quality OS/2 print magazines being published in languages other than English. Oh, and OS/2 e-Zine! has no intention of going off the air! Since we're going to be around for some time, I spent a while last month playing with the browser that most of you will probably be viewing us with in the near future: Netscape and IBM's much needed second beta of Netscape Navigator 2.02 for OS/2. While the newer version works much better than the original beta (the fact that it works is an improvement for some), it still doesn't thrill me. Some time ago I wrote (http://www.haligonian.com/os2/v1n3/rant2.html) a Rant about how, although I liked WebEx, I wished for all the gee-whiz features of Netscape Navigator. Now that I have them, I'm wondering what this wish might cost me. The new beta of Navigator, as I've said is a vast improvement over the initial beta but it still has a lot of little "features" that I'm not so sure are beta problems. Graphics and fonts don't seem to be displayed as crisply as with WebEx; the default borders around graphical links are not nearly as nice as WebEx's; the darn thing insists on redrawing each button on the button bar every time my screen redraws... I suppose some of these things will turn out to be growing pains that will eventually be fixed but I'm starting to worry that I'll end up writing a Rant in a few months pining for the days when we only had to worry about how OS/2 e-Zine! displayed on good old WebEx. Be careful what you wish for, I guess. Despite my personal disappointments with Netscape's progress on their browser, I did have some good news last month. I was happy and relieved to hear that IBM, first in the US and then in Canada, has announced Academic pricing on OS/2 Warp 4. This welcome news first came from the US when (http://www.indelible-blue.com/ib/) Indelible Blue announced that (through the efforts of OS/2 customers) IBM had acknowledged the demand for Warp 4 in Universities and Colleges. Indelible Blue started taking pre-orders and is now shipping Warp 4 Academic to qualified students, faculty and staff for US$85. This version does not include microphones but the new price has relieved many cash-starved students. Not to be outdone, at the end of November, IBM Canada announced that by December 3rd they would also have an academic version of Warp 4 available. Like their US counterpart, they are shipping non - microphone - containing boxes but again the price is substantially less than the full version price. Canadian OS/2-only distributor (http://www.hotinc.com/) House of Technology expects it to hit the campuses in Canada (via H.O.T.'s distributors across the country) at around the Cdn$127 mark. We have no word yet whether IBM will spread this practice (or if they already have) in other countries. IBM may not be overly interested in consumer-level marketing these days, but at least they still realize the value of grass-roots academic sales. *********************************** Corporate Sponsors of OS/2 e-Zine! : ---------- The support of these companies makes this issue possible. Why not thank them? (http://www.bestofos2.com/) Best of OS/2 Your complete OS/2 resource centre. News, demos, catalog of over 150 software products, daily Hobbes Report and links to numerous sites. (http://www.bmtmicro.com/) BMT Micro Your complete source for over 100 of the best OS/2 shareware applications available. Drop by today and check out our WWW catalog or download the .INF version. (http://www.ChipChat.com/os2ezine) ChipChat Technology Group ChipChat produces excellent 32-bit OS/2 software for wireless text paging and state-of-the-art multimedia Sound Cards for Micro Channel PS/2 computers. (http://www.emtec.com/) EmTec Innovative Software EmTec Innovative Software produces state-of-the-art OS/2 ISDN, modem and telnet communications software. OS/2 Magazine and Inside OS/2 1995 award winner. (http://www.hotinc.com/) House of Technology, Inc. Your Canadian Source For OS/2 Applications. (http://www.indelible-blue.com/ib/) Indelible Blue Indelible Blue, a mail order company, provides OS/2 software and hardware solutions to customers worldwide. (http://www.os2store.com/) J3 Computer Technologies Serving the Global OS/2 Community, large and small! (http://www.kssystems.com/) K&S Systems IBM BesTEAM, NT, and Vinca certified consultants provide HW/SW products, installation, configuration, staging, support, and Web Site Design. (http://www.kellergroup.com/) Keller Group Inc. Developers of FaxWorks for OS/2 and PMfax, the fax and voice solution for OS/2, with versions for stand-alone, LAN and Internet Faxing. (http://nick.secant.com/mr2ice.htm) MR/2 ICE Internet Email Client Delivering the electronic mail features of the future, today. A product of Knightware Software Company. (http://www.Mount-Baker.com/) Mt. Baker Software Developers of a full featured personal financial package for OS/2. (http://prairie.lakes.com/~oberon/) Oberon Software, Inc. Home of TE/2, TE/2 Pro and other fine OS/2 programs. Specializing in telecommunications and the Internet. (http://www.pcs-soft.com/) Perez Computing Services Defend against desktop freezes with Ctrl-Alt-Del Commander and create online documents/help with the IPF Editor. (http://www.aescon.com/innoval/) Post Road Mailer The Post Road Mailer is a high performance, 32-bit, email program with drag and drop filing, printing, shredding, word wrap and multiple MIME attachments. (http://www.prioritymaster.com/) ScheduPerformance, Inc. Dramatically improve performance on your OS/2 system now with the patented priority scanning logic and visual priority identification of Priority Master II. (http://www.cfw.com/~shenan/) Shenandoah Equipment Co. Providers of lifetime warrantied name brand simms, laptop and printer memory at competitive prices. (http://www.stardock.com/) Stardock Systems Providing quality software for the home and office. (http://www.aescon.com/innoval/) Surf'nRexx Use REXX to build powerful Internet utilities using our DLLs. Package also includes 10 utilities as samples. *********************************** Chris' Rant - by Chris Wenham ---------- Goodbye Yellow Brick Road Close to the end of each month I enter a mild panic when I don't know what to write about in this column, and usually, at the end of each month, someone does something fabulously stupid and my writer's block goes away like magic. Last year Sun gave us a new programming language and promised earnestly that true platform independent applications were but a few Software Development Kits away -- Java. Last month Microsoft announced they were splitting their own version of Java away from the standard and making a compiler that would produce Windows-only Java binaries -- Excrement. This is an act of stupidity and a stroke of genius rolled into one, if there ever could be such a thing. I'm sure Microsoft is giving itself a darn good pat on the back, running through the halls of Redmond campus shouting, "It's Unix all over again!" and contributing once again to the rape of an idea they were too dumb to think of themselves. But I also think they've not-so-intelligently created their own competitor to ActiveX, given developers one more API to deal with, and diversified their product line with something that can only possibly be called the fifth wheel of programming languages. For crying out loud, if you're only going to develop for Windows anyway, why the heck not write it in C++ or Visual Basic? Perhaps the Surgeon General can put a warning sticker on the new Microsoft Java packages; "Warning: useless to anybody unless compiled for platform independence." It's my sincere hope that developers consider just exactly what the point of Java is. It's the Platform Independent nature of it that makes it more than just another ho-hum C wannabe and a momentary blip of a fad on the Internet radar screen. It's neither rocket science nor a carefully guarded secret that spawning off proprietary and incompatible versions of this language will make it as complex and out-of-reach for the average user as today's Unix systems are. But a trend has been set by the biggest trendsetter of the industry, is it any surprise that companies like Borland, Silicon Graphics and others are either supporting it wholeheartedly or trying to pull off the same trick themselves? I was skeptical and worried when IBM fell in love with Java so quickly and, to all outward appearances, seemed to be hinging OS/2's success on it as well. Now I'm more worried, because it seemed at first that we would all walk down a yellow brick road; we learn instead that Oz has a toll booth at its gates, and we all use the wrong currency to get in. ----- (http://www.spectra.net/~fox/) Chris Wenham is a Team OS/2er in Binghamton, NY with a catchy-titled company -- (http://www.spectra.net/~pendulum/webworks/) Wenham's Web Works. He has written comedy, sci-fi, HTML, Pascal, C++ and now writes software reviews. ---Our Sponsor: Best of OS/2 (http://www.bestofos2.com/)--- *********************************** the Rave: Slice/2 & Splice/2 v1.00 ---------- Long ago, in earlier days, there were two programs that came close to being as ubiquitous as Microsoft's (in)famous MS-DOS: PKZip and it's sister, PKUnzip. Long before the Internet was a mass market product, computer users eager to connect to others were filling up BBS discussion boards and file archives by the millions. And the compression software of choice for those DOS users was PKZip. When OS/2 started gaining popularity outside the corporate world in the early nineties however, PKWare stumbled and fell (in the OS/2 world that is). While a native version of PKZip and PKUnzip were available for OS/2, they were not as feature rich as their DOS counterparts. More importantly, the nice people at Info-Zip went and created an alternative to the PKWare's products: Zip and Unzip for OS/2. By now, if you're reading these words, you know that Info-Zip's free compression and decompression utilities are probably the most commonly used OS/2 software on the planet. These utilities are free and they work great, but they've always had one nagging problem -- unlike their DOS counterparts, they do not have the ability to spread a zipped file over more than one floppy disk. This feature is planned for a future release of Zip but there may be no need. The reason there may be no need, is a simple, effective and brilliantly useful shareware utility called Slice/2 and its companion software, Splice/2. Slice/2 is an old (circa 1992) command-line utility that does exactly what you would imagine: it takes a file and slices it up, storing it on multiple floppy disks, prompting you each time it fills one and needs another. Splice/2 does the opposite: takes sliced files and reconstructs them on (presumably) your hard drive. Both utilities do the job that Zip and Unzip fail to do. These programs are dead simple and tiny (each program is under 10K). You can even store sliced files on floppy disks containing other data. This means that the Slice/2 program uses every byte of storage on a floppy whether it is 1.44 MEG, 740K, or just a spare 20K. It's a dream come true for people with tons of smaller files and some larger ones they need to get off their hard drives. The utilities can even dissect and reconstruct files onto (or from) as many as 999 floppy disks (if you have a file that large). If you are like many OS/2 users out there that have yet to upgrade to a Zip, EZ135 or higher capacity removable drive and you want to clean up the clutter on your hard disk, Slice/2 and Splice/2 are great ways to do so. Until Info-Zip gets around to updating Zip and Unzip to include such functionality, Slice/2 and Splice/2 are great solutions for anyone needing to stuff files onto archaic media. ----- * Slice/2 & Splice/2 v1.0 by Garylyn Co. download from (ftp://hobbes.nmsu.edu/diskutil/sliceit.zip) Hobbes (ZIP, 15k) Registration: US$20 ---Our Sponsor: BMT Micro (http://www.bmtmicro.com/)--- *********************************** the Rave: TransWarp PlusPak - by Thom Davis ---------- Did you ever wish someone would figure out how to write a program like Microsoft Plus for OS/2? Well, guess what -- someone has: The TransWarp PlusPak by KrazyDog Software. It's one of those "GEEZ WHIZ" type programs that we really don't need but are fun to play with. Basically, the program uses "schemes" to spice up your Desktop. There are 20 or so schemes provided and you just have to pick which one you would like to change your Desktop too. There is a preview button with which you can examine the 20 or so schemes that the author, Michael Neice, has come up with (but it does take a while to load the previews as it uses OS/2's Image viewer). As we all know, messing with your Desktop can be risky business and the author warns you to make a backup of your original Desktop before playing with the program, but me, being crazy, I tried it without backing mine up and it worked flawlessly. Changing your Desktop background and the icons for several of the universal objects that come with Warp 4 is now much easier. No more having to open each object's properties menu and drag a new icon into its page, no more digging around looking for those icons and no more having play around with background images. TransWarp will do all those things! The variety of schemes that the author has included is very broad, ranging from Star Trek, to Horror, to (dare I say it) Win'95. There is also an option to go back to the default OS/2 Warp 4 screens. The program is lacking a few things like "Sound Schemes" and a way to add your own themes, and it is slow to change themes, but considering how long it would take you to do it by hand, it's well worth it. And it's just plain cool! All in all, it is very well done and even uses customized pointers inside the program (which I personally had not seen done before). And with a little encouragement, I believe the author would be willing to dig deeper into it and put in the few things that could make it a dynamite answer to that other PlusPak. ----- * TransWarp PlusPak by (neice@nando.net) KrazyDog Software download from (http://www.webbuild.com/~neice/kdog.htm) KrazyDog Software's Site Registration: Freeware ----- (http://member.aol.com/confedbbs/cbbs/cbbs.html) Thom Davis, Sysop of The Confederate BBS has been in the BBS scene for 10yrs now. He has been an avid OS/2 user for the last 2.5 yrs and is a member of TeamOS/2. He is currently working on MSI to develop Wildcat BBS for OS/2. ---Our Sponsor: ChipChat (http://www.ChipChat.com/home00.html)--- *********************************** the Beta File ---------- Welcome back to the Beta File, your source for the latest breaking news in OS/2 beta development. Every month we scour the OS/2 world to bring you interesting news of OS/2 software in development. If you have a product that you're sure is going to be the next killer app, or you want a little free exposure for your beta test (editor@haligonian.com) drop us a note! * * * OS/2 users looking for a new business management and accounting package, take heart. (http://www.erols.com/cybercom/cyber.html) Cybercom is currently working on and taking pre-orders for AccuCount/2, a new OS/2-only, 32 bit, multi-threaded, accounting program that handles invoicing, inventory, purchasing, G/L, P/L and much more. There is also a fully integrated Contact Manager that tracks all transactions, contacts and events in an easy to understand format. A payroll module and multiuser version are planned for release at a later date. Late last month, Alpha testing was occurring at four major client sites and internally. Now, over 100 beta testers have signed up. Cybercom has just opened the beta test for new applicants and they would like to get as many as possible to fully use and abuse the program, provide feedback and bug reports. Have a look at their web page for more details, including a special Preview/Beta offer. The final version of the product is due sometime between Q1 and Q2 1997 at a price of around US$125 and it will be distributed as commercial software. For even more information, check the Press Release on (http://www.software.ibm.com/os/warp/html2/pr/cybercom.htm) IBM's Software Home Page. * * * In addition to their ongoing beta test (to be released real soon now) of SmartSuite for OS/2, Lotus has also begun beta testing Lotus Domino for OS/2. Domino provides a powerful engine for communication and collaboration using standard Web browsers. It takes advantage of Lotus Notes technology and Warp Server SMP and is compatible with OS/2 Warp Connect and OS/2 Warp Version 4. Lotus is conducting an open beta program and is still looking for participants so if you're interested you are welcome to sign up. The Domino 1.5 Beta 1 for OS/2 Warp is available for download from the (http://domino.lotus.com/) Domino home page. This (obviously) commercial product from Lotus is expected before year end, 1996. Final pricing information is not available at this time but expect a single-processor server to cost about US$995, and a multiprocessor US$2995. * * * Stardock Systems, having recently wrapped up beta testing of both Process Commander and Trials of Battle (both of which should be shipping by the time you read this), is moving ahead with its beta test of Entrepreneur and is currently shipping Beta 4 to its "early experience" testers. The new beta is available on (http://www.stardock.com/) Stardock's web site (under the "software updates" link). The economic strategy game will build on Stardock's long tradition of offering strategy games that focus on realistic struggles for dominance. Entrepreneur will be a multi-player, real time game playable over a network, the Internet or modem. Beta 4C introduces new features to the game such as a design screen, research screen, Artificial Intelligence, random world generation, and more. Graphics and sound in Entrepreneur will be provided via DIVE and DART for maximum quality. While the game was first expected some time this year, it now looks like final ship date will be in the first quarter of '97. The game will sell as a commercial package through Stardock's normal channels. Expected price for non-early experience participants is US$59.95. Complete details and loads of screen shots are available at (http://www.stardock.com/ent.html) Stardock's Entrepreneur Page. Entrepreneur will be available on the OS/2, Windows 95 or WindowsNT platforms. In a conversation with Brad Wardell, president of Stardock Systems, he commented that this is intended to help sales of both the OS/2 and non-OS/2 versions of the game. The reasoning used is that if a game is available only for OS/2, game magazines don't like to give it coverage in reviews. If it is a multiplatform game however, magazines review it and non-OS/2 users see that games are available for OS/2 as well as their platform of choice. * * * (heller1@ibm.net) Norbert Heller Software has recently announced a new version of its Media Player for OS/2, Albatros Media Player 2.0, and is accepting participants for its public beta test. The purpose of Media Player 2.0 is to have a single player for all multimedia file formats instead of having a player for every file format as supplied in OS/2. Media Player should play the following file formats: o MODule Formats (those "Amiga Thingies" -- see review in this issue) o AVI (both OS/2 and Windows) o MPEG 1 movies (with IBM's Openmpeg) o Audio Mpeg Layer I + II (an encoder for WAV files is included) o FLC / FLI o WAV o VOC o MID o QuickTime Movies (with an Additional QT Codec) The beta test is public and is still open. The Media Player can be obtained from (ftp://ftp-os2.cdrom.com/os2/incoming/alb_mp_pb4.rar) Walnut Creek and feedback should be directed to Norbert Heller Software. While the software is in beta testing, it is shareware so registrations of US$25 are now being taken. For more information, see the (http://www.wilmington.net/bmtmicro/heller/) Heller Home Page. * * * And, of course, the second beta of Netscape Navigator for OS/2 was finally made available at the end of November. Aside from the (http://www.internet.ibm.com/browsers/netscape/warp/) default web site linked from the OS/2 Warp 4 Desktop, the file can be downloaded by FTP directly from: (ftp://service2.boulder.ibm.com/software/netscape/nsos2_b2.exe) ftp://service2.boulder.ibm.com/software/netscape/nsos2_b2.exe; or (ftp://ftp.software.ibm.com/software/netscape/nsos2_b2.exe) ftp://ftp.software.ibm.com/software/netscape/nsos2_b2.exe This release is the complete package; Netscape Navigator for OS/2 now features: o Fully integrated browser, mail, news o Mail with HTML mail support, address book etc. o News reader o Printing o Drag and drop o Voice support o Bookmarks o Clipboard support o Secure site access o Java 1.02 included in package (for Warp 3.0 and 4.0) o Javascript o OS/2 Multimedia plug-ins o Support for Windows 3.1 plug-ins o DDE interface o Performance improvements and fixes A word of warning, be sure to remove the first beta of Navigator before installing this second one. Also, be prepared to wait for the download; the archive contains the complete OS/2 Java code so it is over 5 megabytes. As most OS/2 users now know, Netscape Navigator 2.02 for OS/2 is the joint project of IBM and Netscape Communications. It is free now and will remain free to OS/2 users and will run on Warp 4 or Warp 3. The final version of Navigator 2.02 is expected before the end of '96 but currently, no firm date can be determined. ---Our Sponsor: EmTec (http://www.emtec.com/)--- *********************************** Answers from e-Zine! ---------- Welcome back to your source for answers to all your OS/2 questions! Each month we bring you tips, tricks, questions and answers from our readers and contributors. If you've got a question or tip you would like to share with us, (editor@haligonian.com) send it in! ---------- Q -- Presently I'm using Warp 3, and I'm debating upgrading to Warp 4. I have a lot of files from the Warp 3 BonusPak, like spreadsheets, data files and reports. Will they be compatible with Warp 4 or will I lose everything? A -- The files from Warp 3 BonusPak seem to be completely compatible. We also have a few spreadsheets plus a todo list that we use constantly. All these items are now used regularly with Warp 4. We needed to make no modifications to them although we did have to manually copy the todo*.* files to the new OS/2 partition since we installed Warp 4 separately from Warp 3.) - (editor@haligonian.com) OS/2 e-Zine! Staff ----- Q -- I am using OS/2 Warp 4. I am also using both WebExplorer and Netscape for OS/2. Whenever I go to a page that has Java capabilities, or applets, I cannot view them. Could you tell me where or how I can get a Java enabled browser for OS/2? A -- Netscape Navigator 2.02 for OS/2 is a Java capable browser. All you need to do to view Java applets in Navigator is click the "Options" menu and open the "Security preferences..." submenu. This will open a notebook that will have check boxes for enabling or disabling Java script or Java application support. Don't forget to make sure you have the latest version of Navigator 2.02 for OS/2 (beta 2 at the time of this writing). It contains the latest Java for OS/2 code (v1.02). - (bgreen@ksu.edu) Brian L. Juergensmeyer ----- Q -- I have seen an "Artchron" task running on my Warp 4 system after booting but don't know what it's for. I have heard a few ways to get rid of it by renaming or deleting its files but would prefer something more "official". How do I keep it from loading? A -- Open your boot drive from the Drives object (or WarpCenter) and look in the "OS2\INSTALL\Installed Features\" folder. There should be an "Install Object - Inventory" object there. (I'm not sure what it is called on a FAT system, sorry; hopefully from the WPS it will have the long names anyway.) Open it and put a check mark on "ART - Inventory" and click "Uninstall". IBM has been playing with a new install/uninstall mechanism; from the looks of it, it could be rather interesting. (Try opening one of the Inventory objects to see what it looks like.) - (bsa@kf8nh.apk.net) Brandon S. Allbery ----- Q -- We have an account with Easynet in the UK and we can connect using Win3.1, Win95, and PowerMac, but have failed to connect with Warp 3.0, Warp 3.0 Connect, Merlin Beta and Warp Server. I keep getting the message that the CHAP request failed. I tried InJoy and used a script to log in but nothing else happens. I don't seem to be able to ping any address and cannot, obviously, get anything on a Web browser. Is there documentation anywhere that could help me find out what I'm doing wrong? A -- I cannot give a definitive answer to this question, but I have had similar experiences (Windows works and OS/2 doesn't). My ISP would give a perfect connection with Win3.1 but OS/2 Warp, using the standard SlipPM.EXE, would not connect properly. I kept getting a connection, then instantly a dropped carrier, every time, regardless of traffic. I found that the hardware was causing the problem for Warp. When I installed a short cable and took out my switch box, it worked fine. There are two things I learned: 1. Assume nothing when tracing connect problems -- it could be hardware or software; and 2. OS/2 Warp still seems to have some problems with Internet connections when compared to Windows et al. - (callaway@highfiber.com) Merrill Callaway ----- Q -- I have Warp 4 and want to create boot disks which use the OAD.SYS driver so that my OS/2 session will access my Iomega drives (ZIP and Bernoulli). I had little difficulty modifying my c:\config.sys to use the OAD driver. However, the procedure described in Iomega's texts for the creation of emergency boot disks, though it worked just fine under Warp 3, does not work under Warp 4. The boot-disk-creation procedure involves modification of the first two of the three installation floppies. Has the structure of the installation floppies changed so that one cannot have an OS/2 session in two floppies? In Warp 4, the Iomega suggested disks result in the system still demanding insertion of disk 3 rather than an OS2 prompt. A -- While it may technically be possible to fit a system in two disks, I do not know of anyone who has done it yet. Make the necessary modifications to the boot disks, but put the OAD drivers on disk 2, which is actually the third disk: disk 0 (install disk), disk 1, disk 2 (OAD drivers). - (kwilas@uiuc.edu) Kris Kwilas ----- That's it for this month. If you have a tip or question that you don't see covered here, don't forget to (editor@haligonian.com) send it in! ---Our Sponsor: House of Technology (http://www.hotinc.com/)--- *********************************** Chris' ColorWorks PowerTips - by Chris Wenham ---------- Solar Lens Flares Tip works in ColorWorks 2.0 or higher A while back I picked up a comic book and looked over its cover. The cover was a pretty cheesy space-scene; what interested me was the sun-flare effect the artist had used. It had a white core, fading out to stellar red with a faint pink halo or shockwave. "I can do thaaaat!" I thought to myself, and after getting home I set about doing it with ColorWorks. The effect is really just a radial gradient, using a red-to-white palette, inverted and with the opacity control switched on. My palette also has a custom gradient map to get the 'shockwave' or halo-ring at the fringes. You draw it onto a black/space background with the circle tool. We start with a simple space scene with the shuttle floating high above the Earth's atmosphere, set against a thick black and featureless background. Next we set up the gradient, the trickiest part of this is to find a gradient map that's just right -- one that'll give us the tight white-hot core of the sun, fading out with a dim red, and concentrating again to form the pink lens-flare halo at the rim. This is the one I made, although you might want to fiddle with it some to get what you want in your picture (fiddling is an art form itself and probably the only one at which all human beings are equally inept). The palette is easier to make though; it's just a spread from red to white (not white to red, since we'll be inverting it later to get the opacity setting we want). Then we just make sure the gradient is set to vary opacity and palette colors, is radial and set to 0% noise and no rotation. The Gradient dialog should look a bit like this one. Simpler yet is to download the Graphics State file included later in this article, but that's cheating... right? With everything set up we just select the circle tool, make sure it's filled, and draw a test flare on a plain black canvas. Ooops! A bit hard around the edges. Okay, so we go to Effects.Drawing Merge Control and set the blend-filled-edges to about 3 or 4 to smooth that out a bit. Now we try again on the space-scene canvas, first a small flare and then a bigger one. You'll notice that on the small flare our 'shockwave' didn't really come out, but on the bigger one it did. We get the effect of a light shining directly into the camera lens and causing a faint pink halo. Q & A Center ""Sometimes when I have a custom palette loaded I need to quickly grab a color from the default palette, but don't want to have to reload my custom palette all over again. Is there a way I can grab the color I want without loading the new palette over top of the old one?"" - Joe Anybody, Somewhere, Idano Dear Joe, if you go to Palette.Load Palette... and pick the palette you want from the tabbed notebook, you'll find that the mouse will turn into an eyedropper when you hover it over the colors. Click on the color you want, then click on the Cancel button instead of the Load button. The new drawing color will be whatever you clicked on with the eyedropper and it won't replace the palette you already had loaded. Download Depot As I promised last month, I've pulled together a ton of new textures, palettes, graphics states and more. The gradient map, palette and graphics state for this month's tip is here, although you only really need to download the graphics state -- you can save the gradient map and palette separately if you wish. We have a couple of palettes, "blue" and "ice" submitted by (http://soli.inav.net/~jfischer/) Jonathan D. Fischer this month too. (http://www.haligonian.com/os2/v1n14/blues.pal) Blues Palette - Download to X:\CWORKS\PALETTE (http://www.haligonian.com/os2/v1n14/ice.pal) Ice Palette - Download to X:\CWORKS\PALETTE (http://www.haligonian.com/os2/v1n14/redfade.pal) Redfade palette - Download to X:\CWORKS\PALETTE (the red-to-white palette for this month's tip) (http://www.haligonian.com/os2/v1n14/sunflare.grm) Sunflare Gradient Map - Download to X:\CWORKS\GRADMAP (the gradient map for this month's tip) (http://www.haligonian.com/os2/v1n14/strflare.grs) Starflare Graphics State - Download to X:\CWORKS\GRSTATE (the graphics state for this month's tip) And (http://www.haligonian.com/os2/v1n14/textures.zip) some textures (ZIP, 42k) o Brick 4 texture - Copy to X:\CWORKS\TEXTURE o Concrete 2 texture - Copy to X:\CWORKS\TEXTURE o Granite 2 texture - Copy to X:\CWORKS\TEXTURE o Ripples texture - Copy to X:\CWORKS\TEXTURE o Shingle texture - Copy to X:\CWORKS\TEXTURE o Tin-roof texture - Copy to X:\CWORKS\TEXTURE ----- (http://www.spectra.net/~fox/) Chris Wenham is a Team OS/2er in Binghamton, NY with a catchy-titled company -- (http://www.spectra.net/~pendulum/webworks/) Wenham's Web Works. He has written comedy, sci-fi, HTML, Pascal, C++ and now writes software reviews. ---Our Sponsor: Indelible Blue (http://www.indelible-blue.com/ib/)--- *********************************** Object Desktop Tips - by Alexander Antoniades ---------- Since its initial release, Stardock Systems' Object Desktop has been among the best selling OS/2 applications in the world. Many OS/2 users enjoy greater productivity thanks to Object Desktop's helpful features. Something many Object Desktop users don't know, however, is that there are many undocumented or often overlooked features of Object Desktop that can make your OS/2 system even more productive and fun to use. We've gathered together a few of them to share with you. Hidden Mouse/Keyboard Shortcuts The following actions can be performed from anywhere within the Workplace Shell when Object Desktop is installed: o Hold down the ALT key and double click on the status bar of any Workplace Shell folder and the settings notebook for that object will come up. o Hold down the Ctrl and Shift keys while double clicking on a folder, and that folder will automatically enter browse mode in the parent folder's window. Note: this feature will not work when the parent folder is the Workplace Shell Desktop. o Right double click on an object to bring up its settings notebook. Checking your computer's pulse One of the more popular parts of the Control Center of Object Desktop is the pulse meter that can explain CPU usage. While most people like its default appearance of two solid colors (selectable by drag and drop from any Workplace Shell color palette) some people like the style of the original OS/2 Pulse applet which is more like a hospital heart monitor. You can make the CPU meter in the Control Center appear like a "hospital heart monitor" by opening the Control Center in either Object Package (which is in all versions of Object Desktop 1.5+) or the Object inspector (included in Object Desktop Professional) and changing the CPU_NOFILL= parameter in the Control Center from 0 to 1. Restarting Object Desktop with the Workplace Shell One of the complaints that people have made about Object Desktop is that when the Workplace Shell is restarted (either intentionally or by crashing) the enhancements from Object Desktop don't restart with the shell. And while you can manually restart most of the components, such as Control Center and the Tab LaunchPad, others such as the Task Manager can't be restarted. To make Object Desktop restart when the Workplace Shell is restarted, simply create a shadow of your Master Setup object on the Desktop and everything that you've selected to autostart will be restarted with the Workplace Shell. This is necessary because of a Workplace Shell limitation regarding the reinitialization of Startup Folders. The Master Setup object is actually a subclass of the Startup folder and Startup folders are only initialized on boot-up unless they're on the Workplace Shell Desktop. Undocumented CONFIG.SYS Calls Many customers have been inquiring about different configuration options that can be changed in Object Desktop. Listed below are several undocumented environment variables that can be set in your CONFIG.SYS file to change particular behaviors of Object Desktop 1.5. o SET OBJD_LOG=AUTO (Will write automatic trap logging to file: objdtrap.log when error occurs) o SET OBJD_ALLVISIBLE=1 (Allows all invisible objects to be in Control Center browser objects) o SET OBJD_NODISKASFOLDERS=1 (Allows all WPDisk objects in Control Center browser objects to be treated as 1.0 disk objects.) o SET OBJD_DISABLEFASTMOVE=1 (Causes Control Center to change virtual Desktops using slow, safe method, to avoid FP16-FP18 multiple window position PMMERGE trap. o SET OBJD_ONAVFULLMENUS=1 (Causes Object Navigator context menu to show move, copy, etc..) o SET OBJD_URLNOPAINT=1 (Disables URL underline painting for Stardock Internet Shell Objects) o SET OBJD_URLNOOPEN=1 (Disables URL open processing for Stardock Internet Shell Objects) o SET OBJD_NOF12ROLLUP=1 (Disables Alt-F12 roll up accelerator) Please remember to make a back up of your CONFIG.SYS file before making any changes. That's it for this month. Next month we'll feature even more undocumented and useful tips and tricks for Object Desktop. ----- (sander@stardock.com) Alexander Antoniades is the former Associate Editor of OS/2 Magazine and the current Vice President of Marketing at Stardock Systems. ---Our Sponsor: J3 Computer Technologies (http://www.os2store.com/)--- *********************************** The Need For Speed - by Jon Cochran ---------- Hi and welcome to hell. My name is Jon, and I'll be your tour guide... Seriously though, if you go shopping at this time of year, you find yourself hearing similar to that (or at least you'll hear those voices) from your local salesman. This month I had a nice article all planned out, but then I got a letter from the editor of this fine publication a few weeks ago. It seems a reader felt that by addressing the needs of 486 users looking to squeeze a little more life out of their machines, I was doing a disservice to those people with first generation Pentiums who need to get a little more life out of those machines. He was right, you know. So this month I'll be talking about precisely what he suggested, which was: getting a little more life out of those first generation Pentium systems. So that Pentium 60, 66, or 75 doesn't have half the punch it used to? Makes sense, considering clock speeds have doubled in the last short while. So is it useless? No more useless than a good 486-based system. There are a number of things you can do to bring your system up to date. Before you begin: Memory, Memory, and more Memory. Seriously folks, I can't say it enough. A Pentium 75 with 24MB of memory will whip a Pentium 150 with 8MB of memory when running OS/2. And with prices so cheap, there's no excuse not to upgrade. I think I've mentioned this enough in the past, so I'm not going to harp on the subject. But you know where I stand. Now, to business. Processor Upgrading the processor is a good option for these first (and second) generation Pentiums. Since the bus runs at the same speed as today's systems, the performance from an upgrade chip will generally bring your system up to the level of a brand new system (unlike the 486 Pentium upgrades). Depending on your preference and mood towards Intel, there are a number of viable upgrade paths for you. If you have a.... Pentium 60/66. The earliest Pentium systems are those most in need of an upgrade. The Intel Upgrade is... The Pentium 120/133 upgrade. Generally runs about US$250 now, cheaper some places, more expensive in your local superstore. If you have a.... Pentium 75. A solid second generation pentium chip, in most cases. The Intel Upgrade is... The Pentium 150 overdrive chip. Generally runs about the same as the 120/33 chip. Or you could.... Evergreen makes an upgrade chip that upgrades the system to a 686/100. Performance will not be in the same ballpark as the Intel overdrive. At this point, you may be wondering about the Cyrix 6x86 chips. As a general rule, the BIOS in your system has to support the Cyrix chip. If you don't know if your BIOS supports the Cyrix chip, find out. And, if it's a system you bought at a local superstore (Best Buy, Sears, CompUSA, etc.) it's a safe bet that it probably won't take a Cyrix chip. In that case, the Intel chip may be your only alternative. Video If you did buy that system at the local superstore (and you know who you are), chances are your system doesn't have the best video subsystem (and if it's a Packard Bell, it definitely doesn't). Not to fret, because your system should have at least one free PCI slot, where you can plug in a new video card. As for what kind to get, the choices go on and on. If you want a card that's well supported under OS/2, the choices narrow themselves down somewhat (although not as much as they used to). o Trident: Good OS/2 support, used in Aptivas. Drivers support dynamic resolution changes (if you can get it working). Low to Mid range cards. o Matrox: Very good OS/2 support. Their drivers have all the bells and frills, but no dynamic resolution changing (at least, yet). High end cards. o S3: Don't kill me, but S3 makes some good cards, and the OS/2 drivers are there. Mid to high end cards. You should, at this point, look for a card that supports MPEG at the least. On the subject of 3D cards, I can only say that there is very little (if any) OS/2 support for 3D features. That doesn't mean that there won't be in the future, but for now I don't see any reason to shop for a 3D capable card. CD-ROM Quite a number of these older Pentium systems have a 2X CD-ROM. While adequate for playing music and older games, it just isn't going to be able to keep up with newer games. With prices for a generic IDE 8X CD-ROM hovering around the US$100 mark, it's a good and relatively inexpensive upgrade. This is by no means a comprehensive list of what you could do to your system. My idea here is to keep most of the existing system intact, and just upgrade or replace small parts. While you could go out and buy a Wide/Fast SCSI card and a new hard drive to go with it, that would probably be incredibly difficult (not to mention expensive) for most users. As always, I'm open to suggestions. Just use the mailto: link below if you have any input or other suggestions. And have a happy holiday. ----- (cochran@genius.rider.edu) Jon Cochran is a full time student at Rider University majoring in History/Secondary Education. He hopes (or at least his parents do) to graduate soon. ---Our Sponsor: K&S Systems (http://www.kssystems.com/)--- *********************************** the REXX Files - by Dr. Dirk Terrell ---------- Although Perl is much more frequently used as a Common Gateway Interface (CGI) scripting language, REXX is quite capable in this capacity. Once you do the work to set up a basic template file, you can create CGI scripts very quickly. I use REXX to do a variety of CGI functions such as customer registration and online ordering for a local scuba shop. If you are running your web server on an OS/2 machine, then REXX is readily available. However if you are running the server on a Unix machine, you'll have to make sure that a REXX interpreter (such as REXX/imc or Regina) is available. It is possible, as we will see, to write a REXX script that will run on both systems with very little effort. With my basic template, I write the CGI scripts on my OS/2 machine, and then transfer them to the Unix server when I am done. The only difference is changing the first line of the file on the Unix machine to have it invoke the REXX interpreter, an unnecessary step on an OS/2 machine, of course. I will assume that you have a basic understanding of HTML forms, and the ACTION attribute for the SUBMIT button, otherwise I suspect you would have already stopped reading. To use your REXX script, just point the ACTION attribute at your REXX script using either a GET or POST method. In general, it is probably better to use POST to avoid having huge URLs that might run into environment variable limits on the host operating system. Information is passed to a REXX script via environment variables when it is invoked. The manner in which the environment variables are accessed depends on the host system. Under OS/2 you use the VALUE() function, whereas under Unix you use the GETENV() function. Fortunately, there is a way to determine what the underlying operating system is: PARSE SOURCE. The following call: Parse Source OperatingSystem CallType will place a string in the variable OperatingSystem that identifies the operating system. The values will be either "OS/2" or "UNIX". It is then a simple matter to use a SELECT structure to do the operations necessary for each operating system: Select When OperatingSystem="OS/2" then Do /* Perform OS/2-specific operations here */ End When OperatingSystem="UNIX" then Do /* Perform Unix-specific operations here */ End Otherwise /* Probably want some error handling code here */ End For the remainder of this article, I will assume that our host machine is an OS/2 machine. Consult the example script to see the minor differences for Unix. The first thing to get is the request method, either POST or GET. This information is passed in the REQUEST_METHOD environment variable. Under OS/2, we would use the VALUE() function like this: env = "OS2ENVIRONMENT" /* Saves us some typing */ method = value("REQUEST_METHOD",,env) /* either POST or GET */ If the method used was GET, then we can get the query string (a string that contains the form information that we presumably want to process) from the QUERY_STRING environment variable with query_string = value("QUERY_STRING",,env) If the POST method was used, we have to do just a little bit more work. With POST, the query string is passed on the standard input stream. Reading from standard input is easy enough with CHARIN(), but how do we know how many bytes to read? The answer awaits us in an environment variable: CONTENT_LENGTH. Using VALUE() again: len = value("CONTENT_LENGTH",,env) Then we simply read the specified number of bytes for the query string: query_string = charin(,,len) Now that we have our query string, we have to decode the information. The string at this point will have the form of Tag1=Value1&Tag2=Value2..., that is, tag names and values separated by equal signs, with tag/value groups separated by ampersands. But REXX is good at parsing strings of this sort. We just parse on the separator characters. First split the query strings at the ampersands to get the tag/value groups and then split the groups at the equal signs to get the tag names and values: i = 1 do while ((query_string \= '') & (i < 1000)) Parse var quer_string Parms.Group.i '&' rest /* Split groups */ Parse var Parms.Group.i Parms.Tag.i '=' Parms.Value.i /* tag/value parse */ Parms.Tag.i = translate( Parms.Tag.i) Parms.XVal.i=DecodeKeyVal( Parms.Value.i) /* Decode hex codes */ query_string = rest i = i + 1 end NFields = i - 1 return NFields After executing this code, the stem variable Parms.Tag. will contain the names of the various form elements (i.e., the entry fields, check boxes, etc.) and Parms.XVal. will hold the values of those elements (i.e., the text of the entry field, check status of the checkbox, etc.). The variable NFields holds the number of form elements that were found. In the above code we call a function DecodeKeyVal() to convert hex codes into characters. With the HTTP protocol, certain characters are transmitted in hex, so we have to convert them back when they are received. The REXX function X2C() (hex to character) does this very nicely. The hex values are separated by percent signs, making for easy parsing. One other thing to note is that spaces are passed as plus signs, and the REXX TRANSLATE() function can be used to convert the plus signs back into spaces. Here is the DecodeKeyVal() function from the example program: DecodeKeyVal: procedure parse arg Code Text='' Code=translate(Code, ' ', '+') /* Convert + signs to spaces */ rest='%' do while (rest\='') Parse var Code T '%' rest Text=Text || T if (rest\='') then do ch = left( rest,2) c=X2C(ch) /* Hex to character conversion */ Text=Text || c Code=substr( rest, 3) end end return Text Now that you have the element names and values, you can do whatever processing is necessary for your application. Once you are done, you have to send information back to the person that submitted the form via the standard output stream (using SAY). The HTTP protocol requires that you send a line with "Content-type: text/html" followed by a blank line, and then your HTML document. If you don't get these first two lines right, the web browser will most likely report a server error. The full example program below simply returns the form's element names and the associated values. It is quite useful for testing forms as you build them. Use it as a template for creating more complicated scripts and you'll find that creating CGI scripts becomes quite painless. ----- (http://www.gnv.com/HTMLWizard/) Dr. Dirk Terrell is an astronomer at the University of Florida specializing in interacting binary stars. His hobbies include cave diving, martial arts, painting and writing OS/2 software such as HTML Wizard. ---Our Sponsor: Keller Group Inc. (http://www.kellergroup.com/)--- *********************************** #!rexx /* ************************************************************************** * CGITEST.CMD - a REXX CGI script to test HTML forms * returns an HTML page with the names and values * of form elements * Author: Dirk Terrell 9/16/96 * modified: Dirk Terrell 11/30/96 ************************************************************************* */ Parse Arg Argv env = "OS2ENVIRONMENT" /* Read in the product list */ i=0 /* The following two lines will not change */ Say "Content-type: text/html" Say /* Now comes the header of the returned HTML file */ Say "" Say "
" Say ""
End
/* Now finish up the HTML */
Say ""
Say ""
return
/* Do not modify below this line -- Important parsing code...
From Frankie Fan's OS2HTTPD archive
*/
ParseQueryString: procedure expose Parms. NFields
Parse arg P
i = 1
do while ((P \= '') & (i < 1000))
Parse var P Parms.Text.i '&' rest
Parse var Parms.Text.i Parms.Tag.i '=' Parms.KeyVal.i
Parms.Tag.i = translate( Parms.Tag.i)
Parms.XVal.i=DecodeKeyVal( Parms.KeyVal.i)
P = rest
i = i + 1
end
NFields = i - 1
return NFields
DecodeKeyVal: procedure
parse arg Code
Text=''
Code=translate(Code, ' ', '+') /* Convert + signs to spaces */
rest='%'
do while (rest\='')
Parse var Code T '%' rest
Text=Text || T
if (rest\='') then
do
ch = left( rest,2)
c=X2C(ch) /* Hex to character conversion */
Text=Text || c
Code=substr( rest, 3)
end
end
return Text
---Our Sponsor: MR/2 ICE (http://nick.secant.com/mr2ice.htm)---
***********************************
How do I? - by Eric Slaats
----------
Hi and welcome to the next lesson on PM programming. In this column simple Presentation Manager programming problems and philosophies will be discussed. This Column is aimed at people who are interested in PM programming or are simply curious what makes PM programs tick. To understand this column a little programming experience (preferably in
C++) is recommended.
Last month we looked at some messages that play an important role in window creation, the WM_CREATE and WM_SIZE messages. In this issue we will focus on something completely different. Since we're still in the process of creating a basic application, we will once again focus on the frame window.
In this issue we will discuss a way to add some basic controls like a menu to the frame window. The basic program we were working on last month will be used as starting point for these new explorations.
Be lazy!
This is actually one of the key principles I use in programming. It can also be interpreted as: "Don't do what can be done for you!". The people at IBM spent lots of time developing this OS and put a lot of thought in it. Why do it over?
If you're wondering what I'm talking about, let me give a simple example. Last month we did a small program that set up one button in a frame window. We did this by simply creating an instance of the button class. The only thing we did ourselves was dictate (or calculate) the size of the button. We could have gone the difficult way and drawn the complete button ourselves; this way we would end up in a mess of graphic functions. The button class that is defined in OS/2 does all that for us.
Besides being lazy, I'm also a fan of the KISS principle (Keep It Simple Stupid). This month we will introduce resources as a possible way to keep it simple and be lazy.
Resources
Wouldn't it be great if we didn't have to program with these difficult C++ code lines, but simply draw our program on the screen and then generate it? Well, for a number of controls this is possible. We can define dialogs, and menus this way. Unfortunately, we still have to program the way the controls react to events. In future columns I will give a lot of attention to this way of programming; for now we will concentrate on menus.
But first let's describe what resources are.
In a resource file (.RC) we can describe controls with a scripting kind of language. This isn't exactly a programming language, but more a language that is used to describe the way things look. Some examples of resources that can be defined in resource files are:
o Menus
o Accelerator tables
o Dialog and window templates
o Icons
o Fonts
o Bit maps
o Strings
In most cases, we don't have to bother to write the resource scripts ourselves. With most compilers, as well as with the OS/2 Toolkit, come dedicated resource editors. These tools offer a graphic environment in which you can paint the resources you'd like to use. (See also the description of Visual Age, Borland C++ and Watcom in (http://www.haligonian.com/os2/v1n11/) issue #11).
Unfortunately, for the menu resource there usually isn't a graphical building tool. So let's see how a menu is created. The best way to illustrate this is to present an example:
MENU MAIN
BEGIN
SUBMENU "Menu ~1", IDM_MENU1
BEGIN
MENUITEM "Item 1.~1", IDM_ITEM1_1
MENUITEM "Item 1.~2", IDM_ITEM1_2
END
SUBMENU "Menu ~2", IDM_MENU2
BEGIN
MENUITEM "Item 2.~1", IDM_ITEM2_1
MENUITEM SEPARATOR
MENUITEM "Item 2.~2", IDM_ITEM2_2
MENUITEM "Item 2.~3", IDM_ITEM2_3
END
MENUITEM "~About", IDM_ABOUT
END
This is the sample for the menu we will add to the program of last month. (You can find an exact match of this script in the .RC file in this month's example). Let's try to analyze it.
If you take a look at the script, you should be able to get an impression of how the menu will look. This script describes a main menu with three entries named "Menu 1", "Menu 2" and "About". If "Menu 1" or "Menu 2" is activated it will display a submenu, the third menu, "About", is designed to trigger an event directly.
Some Definitions:
MENU: The Menu identifier is the starting point. After this keyword a whole cluster of definitions is added. Together they build the menu. This cluster must be embedded between the BEGIN and END keywords.
SUBMENU: The submenu keyword is used to declare a submenu. Everything between the BEGIN and END after this keyword defines this menu. In the submenu new submenus may be added.
MENUITEM: Defines a menu item. Just as with SUBMENU, after this keyword the name of the menu is inserted. This is the name as it will appear in the menu. Note that in some places the ~ (tilde) is used. This may be done once in a menu-name. This will result in a underline effect for the letter that is preceded with the tilde. This letter can then be used as a fast access to the menu item.
SEPARATOR: This keyword is used in "Menu 2". If a MENUITEM SEPARATOR is used, it will create a line in the menu. In our example the Item 2.1 and Item 2.2 will be separated by a line.
With the KEYWORDS described until now we can build fairly complete menus. There are however, a lot more possibilities, like buttons, etc. These will be addressed in a future column. There is another thing that I haven't explained about the above example: after almost every line there is a word (identifier) like IDM_MENU1_1. These are called resource identifiers.
Resource identifiers
The .RC file describes the resources, but the compiler (as well as the OS) must have a way to identify every resource used by a program. This is why every resource has a resource identifier. A resource identifier is a constant that is usually defined in a .h (header) file and is included in all the program parts that need to know the resource ID. The header file for Sample 3 looks like this:
#define MAIN 1
#define IDM_MENU1 100
#define IDM_ITEM1_1 101
#define IDM_ITEM1_2 102
#define IDM_MENU2 200
#define IDM_ITEM2_1 201
#define IDM_ITEM2_2 203
#define IDM_ITEM2_3 204
#define IDM_ABOUT 300
As you can see, all the menu-item identifiers have a different constant assigned to them. You're relatively free to choose these numbers. Menu items in the same menu must have different numbers. Or, if you want two menu items to trigger the same event, menu items should have the same ID.
The first file in which we include this header file is the resource file (.RC). This way the resource compiler knows which ID's to attach to the separate items. We also want to use this include file in the file in which we handle the events triggered by a menu action. To accomplish this, the following line is added to simple3.rc and simple3.cpp.
#include "simple3.h"
Why does the .cpp file need to know these ID's? Well, every time a menu item is activated, a WM_COMMAND message is sent to the client window. This means we can let the window procedure we defined for our little program intercept this message. All we have to do in the code that handles this message is determine which menu-item is pressed. (The resource identifier is used for this.) To understand how this works, let's take a look at the WM_COMMAND message.
param1 USHORT uscmd // Command value.
param2 USHORT ussource // Source type.
USHORT uspointer // Pointer-device indicator.
returns ULONG ulReserved // Reserved value, should be 0.
The only thing we need to know now is how to detect the right menu-ID. For this we only need the message parameter 1. Message parameter 2 can be used to pass information about the source that triggered the menu event. For now, we're not interested in this. (Once again, this will be addressed in a future article, so keep reading.)
You've noticed that the first message parameter is a USHORT. This means we can't simply treat it as a ULONG (which every message parameter is). We need to extract the SHORT from this ULONG. For this, there is a nice macro called SHORT1FROMMP. Take a look at the following piece of code:
case WM_COMMAND:
{
switch (SHORT1FROMMP(mpParm1))
{
case IDM_ITEM1_1:
{
// Handling menu item 1.1
}
break;
case IDM_ITEM1_2:
{
// Handling menu item 1.2
}
break;
}
}
break;
What you do in the separate menu item routines is dependant on your application. In our example, we will use the WinMessageBox API to make something happen when a menu item is clicked. (This API displays a popup box in which text can be displayed. See the sample code for this.)
Using the menu resource
At the moment we've got a resource file and we know what kind of messages the menu generates and how to handle them. If we leave it at this, we will have a window without a menu. What we need is a way to attach the defined window to the frame window. This is where the FCF flags come in (Frame Creation Flags). The Frame creation flags have been loosely mentioned in an earlier column and we will go deeper into them next month. All we've got to know for now is the FCF_flag we need to attach the menu. This can be done by adding the FCF_MENU flag.
After this is done, we need to tell the frame window upon creation which resource to load. We gave the menu the resource MAIN (1). In this code sample this is added (in previous samples this was set to 0).
WinCreateStdWindow (HWND_DESKTOP, // Parent
WS_VISIBLE, // Style (visible)
&flFrameFlags, // Creation flags
"SampleClass", // Class name
"Simple 2 for OS/2 e-Zine!",// Titlebar text
0, // Client style
NULLHANDLE, // Resource handle
MAIN, // Frame ID <======= This is it
&hwndClient); // Client handle
In future articles we'll see that all the controls that a frame window has to load that are controlled by the FCF-flags must have the same ID and the Frame ID.
WM_COMMAND and the button.
The WM_COMMAND message is sent by the menu items as they are clicked. But this command can also be invoked by other controls, most noticeably the button control. The button control will also send a WM_COMMAND to its parent when it is clicked. So, if we know the ID of the button, we should be able to intercept a button click in the handling of WM_COMMAND. (Make sure that the ID doesn't double one of the menu ID's).
Compiling .RC files
RC files must be compiled just as C++ files. To do this, we can use the RC compiler that comes with OS/2. With this compiler a .RC script file can be compiled to a .RES file which can be linked to an EXE file (also by RC). Most compiler packages though can handle resource files from within the IDE. This means we don't have to bother about doing command-line stuff. (In the Borland C++ compiler you simply include the .RC file in the project and everything will be handled.)
Concluding Notes
There is a lot that can be done with resources. What we've gone through now is only scratching the surface of what's possible. This means we will see a lot more of resources in future columns. For some applications it's an ideal way to create a program with very little
programming effort. (The Smalled HTML Extensions are an example of this; everything you see in that application is done with resources, there isn't a control that is hard coded in there.)
All changes that are new in the (http://www.haligonian.com/os2/v1n14/simple3.zip) SIMPLE3.CPP (ZIP, 16.7k) program are marked with NEW to make it easier to figure out.
-----
(eric.slaats@pi.net) Eric Slaats holds a degree in Computer Science and teaches computer technology in Eindhoven. He is the creator of the (http://www.bmtmicro.com/catalog/smalled/) Smalled utilities.
---Our Sponsor: Mt. Baker Software (http://www.Mount-Baker.com/)---
***********************************
CD Players for OS/2 - by Chris Wenham
----------
For me, to work is to listen to music. Words just don't want to come out of my fingers unless I have a pair of headphones warming my ears and pumping rich tunes into my brain.
OS/2 has a broad range of CD player applets that'll suit any desk jockey with a stockpile of the shiny discs to play. Most try to mimic the front panels of traditional CD players that come with stereo systems you buy in stores. In this review I've rated each player on a 1-10 (1 worst, 10 best) point scale.
Warp's Own Compact Disc Player
The bundled CD player that comes with Warp 4 is excellent to begin with. It's not short on features and even comes with a cool "brushed aluminum" texture finish. The problem with this texture is that it can take a while for the player to repaint itself when restored from a minimized state.
Nearly all the on-screen elements of the player can be switched off individually to conserve screen space. Switching off the menu bar will place a small icon in the title bar that gives you a drop-down menu with all the same choices. I found that you could literally reduce the player down to nothing but a title bar, or just a title bar with controls, or whatever configuration pleases you. Another point I liked was that the player would identify the name of each track in the information bar as your mouse hovered over the numbered buttons.
Warp's CD player can be programmed with CD and track titles for all your favorite discs, always identifying which CD you've inserted by the unique UPC code on the disc itself. It can also be set to automatically play a disc when inserted or when the CD player is opened with a disc already in the drive. Plus, the CD player can be set to resume a CD from where it left off, the next time the player is started.
Rating: 9
Creative Labs CD Player
Packaged with a suite that also includes a .wav, .midi, movie and other utility programs, Creative Lab's CD Player is a direct port of the Windows version that comes standard with most Sound Blaster sound card and CD-ROM drive bundles. Cosmetically it's one of the best looking in this review, and surprise, surprise, it doesn't need a Creative Labs brand CD-ROM drive to work. Although I have a Sound Blaster audio card I tested this player after I had chucked the old Creative Labs 4X CD-ROM and replaced it with an 8X Mitsumi drive. It still worked flawlessly.
While not very configurable, you can still add your album info and enter a program for playing favorite tracks. The display is touch sensitive too, with controls for changing the volume, playback behavior, or to toggle between the three views; graphical view (an animated mock of your CD-ROM's front panel, showing if a disc is inserted or not), CD and track title view, and track time view.
Rating: 7
CD in a Box 1.66
CD in a Box looks, walks and talks like an extension of the Workplace Shell folder class, but it isn't. A CD can be opened in any of the familiar folder views (icon, details, plus name and text view) with icons for each track on the disc. Right clicking on any track icon or on a blank space of the folder brings up a context sensitive menu with which you can configure the CD or track properties, mark favorite or not-so-favorite songs and more.
I found this to be the easiest and most intuitive way of entering a custom program for playing CDs. You name each track using the standard Alt-click on the icons, but you can also right click on each track icon and pick "favorite", "ordinary", or "horrible" status as your choice for that particular song. Then when you play the CD you can tell CD in a Box which kind you want to play; favorite, ordinary, ordinary and favorite, horrible, all, or selected. Pretty darn point-n-click easy, making CD in a Box one of the best in this review.
As I mentioned, CD in a Box appears at first to be a WPS class, but it's just an .EXE and doesn't need to register any classes. Besides its folder-metaphor it also comes with a more "CD-player looking" control panel, complete with the play/fast-forward/rewind buttons we're accustomed to. The control panel can be displayed in 3 different sizes (small, medium and large), depending on how much Desktop space you have and what features you need immediately available. Once the control panel is open you can close the folder view without closing the whole player.
CD in a Box is extensively configurable. Not only can you display the disc contents with any of six folder views but you can change the icons used to represent each type of track, or even change the specific phrases it uses to describe "favorite" and "horrible" tracks and whether it's "playing" or "paused" or "stopped" or whatever (perhaps this can be used for simple multilingual support?). Plus, with configurable auto-play and auto-eject features, you can minimize the player completely and just play disc after disc after disc... or just leave it in repeat mode to keep playing your favorite tracks over and over and over and over...
Rating: 9
CD Audio
CD Audio's unique feature is that it doesn't require MMPM to be installed in order to play audio CDs, it talks directly to the CD-ROM driver. CD Audio will also not stop playback if you close the program while a disc is still playing (one wonders if that's a feature or a bug, even though it's documented). CD Audio also seems to have a problem detecting new discs inserted after the program has been launched, recognizing them only if the disc was already in the drive when you started the program.
The interface is compact but pretty simplistic. With the disc stopped you can enter a program by dialing the track numbers on the keypad and hitting the "Memory" button after each track. You can click on the Recall button to show a list of all the tracks entered into memory. CD Audio does not currently allow you to enter the titles of your CDs or their tracks (robbing me of another chance to impress you with my taste in music) but the author has planned it for future versions.
Rating: 6
PlayBoy 1.2
PlayBoy has a very plain and simple interface, the main panel has only six buttons in all and takes up barely a couple inches of screen space. You can enter album information through a dialog that annoyingly only uses icons for its buttons and no text. Most of their purposes seem obvious, but some of them aren't. There are some potentially teeth-grinding bugs in it too; after entering the tracks of my album I curiously clicked on the button with the icon of the paper on fire, sure enough it came up with a dialog asking if I really wanted to delete the album. I clicked "No". It deleted it anyway.
PlayBoy does have an auto-play as well as an auto-eject feature, making it simple to keep the window minimized at all times and just feed discs in and out without having to restore it each and every time you change a disc. Other than that, PlayBoy's quirks and bugs, coupled with its relative lack of features, don't make it a worthwhile choice compared to the others.
Rating: 6
DB CD Player 0.21
This freeware CD player hasn't got the prettiest interface in the world, but it does allow you to enter all your album titles and tracks and gives you plenty of keyboard shortcuts so you don't always have to use the mouse like the other players demand.
DB CD Player doesn't offer any online help. The author seems to think that the program is self-explanatory enough and I tend to agree. To configure the program you click on a button marked "Setup" and to enter album titles you click on a button marked "Titles". The rest of the player's controls are the standard VCR/Tape-deck/CD-Player buttons we're all familiar with by now. The slider bar shows what track the player is on at any given moment, but unlike the Warp CD player it does not show where in the track is currently being played. The program also features its own "one-click-zapper" in the title bar. Handy, but a bit redundant now thanks to Warp 4, Object Desktop, X it and other utilities that do the same thing.
Rating: 7
Compact Disc Explorer 2.4
This one is a more complex CD player that has most of its configuration switches located on the main window itself, which unfortunately looks a bit messy due to the bitmaps and lines not being positioned correctly on the screen resolution I was using at the time (800x600).
CD Explorer has features that most people won't have use for, but may prove valuable for other purposes such as study or teaching. For example when the disc is stopped you can enter the cue position in the song, with up-to-the-second accuracy, and CD Explorer will start playing at that exact spot when you click the Play button again. Second is the segment repeat feature; mark the beginning of the segment, then the end (within the same song) and when you click on the repeat button it'll play that segment of music over and over until you stop it. One guesses that this might be useful for studying a guitar riff, drum solo, or maybe figuring out what the heck the lyrics are in a Michael Jackson song.
One last feature of note, which can actually be found in Warp's own CD player too, is the output through audio-card switch. If your CD-ROM drive supports DA streaming data you can direct the sound through the drive's IDE/SCSI interface and into the sound card as digital information rather than across the jumper-cable -- which only carries the analog music signal. It is not always advisable to use this; for one reason, most sound cards can't handle the huge flow of data without sounding crackly.
I do recommend that you check out the program information dialog though and see the author's sense of humor at work.
Rating: 7
Albatros CD Player 2.0 (beta)
While this is still in Beta I decided to look at it anyway. Albatros CD Player visibly tries to mimic the cosmetics of Creative Lab's CD player with its curved buttons and LED style display. At my 800x600 resolution the bitmaps for the buttons weren't very easy to read though and I had to click-n-guess to figure out most of the interface. When you eject a disc, the black display rectangle turns into a mock picture of your CD-ROM drive's front panel, similar to the one in the Creative Labs player.
But this player also has features for recording your CD tracks directly to .wav files (if your drive supports DA streaming), and unlike the Creative Labs player, it has more features with a greater depth of configurability.
Rating: 8
Summary
Unlike the MOD players covered elsewhere in this issue, each of these CD players will reproduce your songs exactly the same way. Plus, it doesn't take an awful lot of CPU power to tell a CD-ROM drive to skip to the next track. Therefore user interface was of primary importance here.
After reviewing all these players I have come away with one wish: That they'd all use a universal database format for storing CD titles and track info. When making a decision you're undoubtedly going to try more than one player; it would be useful if you could carry the title database over from one player to another as you go. With this feature would come the possibility of running a web-based album repository, saving us all the chore of entering our huge and ever growing CD collections.
-----
* Creative Labs CD Player
by (http://www.creaf.com/) Creative Labs
download from (http://hobbes.nmsu.edu/os2/mmedia/creafav.zip) Hobbes (ZIP, 481k)
Registration: Freeware/Part of Sound Blaster Audio/Visual bundle.
* CD in a Box v1.66
by (lroger@southnet.co.nz) Lyndsay Roger
download from (http://www.stud.his.no/~jonny/cdbox.html) CD-in-a-box Home Page
Registration: Cardware
* CD Audio
by Allen Regal
download from (http://hobbes.nmsu.edu/os2/mmedia/cdaudio.zip) Hobbes (ZIP, 13k)
Registration: Freeware
* PlayBoy v1.2
by (igor@flexnet.com) Igor Divjak
download from (http://hobbes.nmsu.edu/os2/mmedia/playboy.zip) Hobbes (ZIP, 38k)
Registration: US$20
* DB CD Player v0.21
by (frank@sbbs.se) Frank Carlsson
download from (http://hobbes.nmsu.edu/os2/mmedia/dbcdp021.zip) Hobbes (ZIP, 600k)
Registration: Freeware
* Compact Disc Explorer v2.4
by David C. Thomas
download from (http://hobbes.nmsu.edu/os2/mmedia/cdexpl.zip) Hobbes (ZIP, 58k)
Registration: IBM EWS
* Albatros CD Player v2.0 (beta)
by (heller1@ibm.net) Norbert Heller
download from (http://www.cdrom.com/pub/hobbes/mmedia/alb_pb3.zip) Walnut Creek (ZIP, 249k)
Registration: US$25
-----
(http://www.spectra.net/~fox/) Chris Wenham is a Team OS/2er in Binghamton, NY with a catchy-titled company -- (http://www.spectra.net/~pendulum/webworks/) Wenham's Web Works. He has written comedy, sci-fi, HTML, Pascal, C++ and now writes software reviews.
---Our Sponsor: Oberon Software, Inc. (http://prairie.lakes.com/~oberon/)---
***********************************
Mod Players for OS/2 - by Chris Wenham
----------
A .MOD file is a digital music file that contains a score plus digitized samples of instruments, unlike MIDI files which only contain the score and rely on your soundcard's FM chip or your synthesizer's sound bank to supply the instruments. It's also different from a .WAV file, which is just a single digitized sound or instrument. A MOD player uses a simple form of Wavetable synthesis, adjusting the pitch of each digitized sample to produce the different notes as they are called by the score. All of this digital mixing takes place on your computer's CPU and not on the sound card itself (except for the Gravis UltraSound (GUS), which has a special chip to take the load of the main CPU) meaning that your computer will feel slower during playback of a song -- after all it's trying to pump upwards of 44k per second of data to the sound card.
Also different from .WAV files is the size of .MOD files. A 30 minute song could easily be under 300K since most of the file's bulk is used to store the digitized instruments.
Also unlike MIDI files, MODule files don't always sound the same on different players. Given the wide range of file formats, each one with different features and effects, you may find that while one player can render a song perfectly another may stumble over an effect or technique it wasn't programmed to handle properly.
To complicate matters further, some players are much more bullish on CPU usage than others. The introduction of DART -- Direct Audio Real Time -- in Warp 4.0 (the .dll libraries necessary are also available for Warp 3) means that players can send data to the sound card directly, rather than going through OS/2's MMPM, resulting in much smoother, uninterrupted playback with lower CPU load.
As a test I found a MODule song called "Astronaut's Requiem" by U4ia which has a tendency to loop forever around the 18-19th track position on most players. Probably resulting from the musician using a technique that worked fine on his Tracker (the program that composes the files) but not so well on players.
A little history...
MODs came from the Commodore Amiga, that amazing computer from the mid 80's that practically invented Multimedia and showed the world what tight code and clean engineering could do. The Amiga's still around with a cult following that keeps it alive (sound like anyone you know, you OS/2-ers out there?) not to mention a cozy niche in TV production and broadcasting. (Watch Babylon 5 and catch a load of those computer generated space scenes, that's Amigas at work there.)
The MODs themselves are generated with programs such as SoundTracker, NoiseTracker, ProTracker, ScreamTracker and others. There are actually many formats too, including the original 4-channel SoundTracker .MODs, ScreamTracker's 16-channel .S3M, and FastTracker's .XM format with its 32 channels and other unique features such as envelopes and an instrument/sample model.
This ability for people to cheaply and easily compose music, then distribute it for free over the Internet has created a whole new culture some would say. Looking through the messages hidden in the instrument lists you start to pick up the names of prolific composers, working under aliases like "Deathjester", "Feekzoid" and the almost godly "U4ia" (pronounced, of course, "euphoria"). Some advertise their skills for writing video game scores, some are members of "Demo" groups, while others work alone cranking out tune after tune after tune.
OS/2 Players
For this review I've given each player a 1-10 score (1 worst, 10 best) on three criteria: Play Quality -- how well it reproduces songs and handles their 'quirks'; User Interface -- how easy it is to use and control; and CPU Load -- how efficiently it makes use of your computer's processor (and thus how friendly it is in a multitasking environment).
UltiMOD v1.5
UltiMOD comes in two versions, the character-mode and the PM version. Both have the same mixing engine behind them (and hence the same sound quality) but the character-mode version has more features and a richer display. UltiMOD uses MMPM or DART for sound output, but there is a separate Gravis UltraSound version available too.
UltiMOD's character mode interface is probably the most interesting to watch with a real-time display of the instruments as they are used, what note they were just played at and what effect they were played with. It's not as entertaining as the graphic LED displays of some of the popular DOS players but it sure as heck beats the static displays of the others in this review.
UltiMOD failed the "Astronaut's Requiem" test, sticking on the trouble spot, although we were able to 'bump the needle' by fast forwarding a track.
Supported file formats: MOD, MTM, FT1, S3M, XM
Ratings:
Play Quality: 8
User Interface: 7
CPU Load: PM Front-end: 9 Text mode: 8
DMP (Dual Module Player)
Julien Pierre's port of Otto Chrons' Dual Module Player 4.0 (a DOS program) is probably the best of the bunch in sound-quality and CPU usage. If it wasn't for its annoying lack of support for FastTracker II's .XM format this would be my favorite. It too has both a character-mode and PM front end similar to UltiMOD's, but the character-mode version offers no instrument feedback at all. It makes up for this with what I consider to be a fantastically cool range of 'filters'; mathematical transforms that affect the sound output. There are simple noise reduction filters to begin with, but you can easily flip on the "Hall reverb", "Air duct reverb", "Distant echo" or "Bass boost" to get something totally different. Many tunes take on a whole new meaning with these filters, making DMP definitely worth trying out just for this trick alone.
One interesting and unique variation of DMP is the Netscape for OS/2 plug-in. It's the same mixing engine used in DMP but this time packaged as a plug-in for the Netscape Navigator for OS/2, giving you the ability to embed any supported MODule file in your web pages for background music. Anyone with the plug-in installed will hear the music being automatically played after the page has finished loading. The music keeps playing even if you jump to another page, stopping only when the music is finished or you hit another page with a MODule embedded too.
If you want to hear this in action, (http://www.polsci.wvu.edu/Madbrain/npdsmi.html) download and install the plug-in, then restart Netscape and reload this review page. Of course, if you have already installed the plug-in, you are already hearing the music...
DMP passed the "Astronaut's Requiem" test with flying colors.
Supported file formats: MOD, NST, STM, S3M, FAR, MTM, 669, AMF
Ratings:
Play Quality: 10
User Interface: 5
CPU Load: PM Front-end: 9 Text mode: 10
Pop Play 1.1
Pop Play has, without argument, the best PM interface of the lot. It's written in Visual Rexx, but has DART and wide support for module formats, behaving well with options to change the priority at which the player runs. While I found that Pop Play's sound quality was excellent, and often better than the other players, there were two files that it failed on. "Astronaut's Requiem" got caught in an infinite loop while another song called "Wedding in the Leaves" had an annoying vibration to it.
Pop Play's CPU usage varies with the settings you give it and the module it's playing. .XM files with many channels used can peg the CPU meter when played at high quality (44khz, 16-bit stereo) on Pop Play. However if you turn off screen updates, lower the priority to idle and play the module back at 22khz, 16-bit stereo, the CPU drain becomes modest and comparable to the other players in this review.
Its major strength is, of course, the interface. It has a powerful browser built into it which will display the filename of a song plus the song's title and format. You can add songs to the playlist this way, either to the top or bottom of the queue, or play them immediately. It doesn't offer an instrument listing, but you can adjust the order of the songs in the playlist on the fly and save the list to disk for later. The controls and display have a cool digital CD player feel to them with bright neon lettering on a black background.
REXX programmers may be interested to know that Pop Play also comes with a loadable DLL from which you can access and play MOD files in your own programs.
Supported file formats: MOD, STM, S3M, XM, MTM, ULT
Ratings:
Play Quality: 9
User Interface: 10
CPU Load: 7-8 (depending on features switched on during playback)
Sounder 1.2.1
Sounder is the only player in this review that doesn't use DART for its audio output, streaming it through MMPM instead. This results in a much heavier CPU load. It is also in want of an update, with incomplete features and format support.
Unfortunately, on too many modules I found the sound quality to be unacceptable. This is a shame since the user interface looks promising, showing in real-time how many channels are in use and with a window that promises to have a graphic display (like the LED graphic equalizers on some stereos) in some future version that hasn't been released yet.
Supported file formats: MOD, MTM, and S3M
Ratings:
Play Quality: 5
User Interface: 7
CPU Load: 6
Albatros Media Player 2.0 (beta 3)
Norbert Heller's Albatros Media Player is the sister of the Albatros CD Player (see the review of CD players also in this issue) and as of this writing is still in beta testing. It uses the same PM interface as the CD player except with it you drag-n-drop the MOD files you wish to play onto the black rectangle area of the player's window. The interface is still a little limited for my taste and doesn't allow you to save song lists. Albatros Media Player also failed the "Astronaut's Requiem" test, but considering the program is still in beta there may be many things that change before its final release.
Supported file formats: MOD, XM, STM, S3M, MTM, ULT
Ratings:
Play Quality: 8
User Interface: 9
CPU Load: 8
Summary
If the user interface isn't a big concern to you and you're looking for the best playback quality with the lowest CPU load, try either DMP or UltiMOD. If you want good playback, acceptable CPU load and a detailed and intuitive user interface that'll impress your friends, look no further than Pop Play. Whichever you chose, be sure and grab the DMP plug-in for Netscape Navigator for OS/2 too.
-----
* UltiMOD v1.5
by (sandervl@xs4all.nl) Sander van Leeuwen
download from (http://www.polsci.wvu.edu/Henry/Sander/) UltiMOD home page
Registration: Freeware (DART/MMPM version); US$30 (GUS version)
* DMP v1.9
by (madbrain@netsrq.com) Julien Pierre
download from (http://www.polsci.wvu.edu/Madbrain/software.html) Madbrain's Software Library
Registration: Freeware
* Pop Play
by (slehiko@ibm.net) Seppo Lehikoinen
download from (http://www.cdrom.com/pub/hobbes/mmedia/poppl110.zip) Walnut Creek (ZIP, 631k)
Registration: US$20 (if used commercially)
* Sounder v1.2.1
by Tom Stokes
download from (ftp://ftp.bmtmicro.com/bmtmicro/sound121.zip) BMT Micro (ZIP, 68k)
Registration: US$25
* Albatros Media Player v2.0
by (heller1@ibm.net) Norbert Heller
download from (http://www.cdrom.com/pub/hobbes/mmedia/alb_pb3.zip) Walnut Creek (ZIP, 249k)
Registration: US$25
"Astronaut's Requiem" Copyright (c) U4ia (Jim Young). Available from the (http://sw.cse.bris.ac.uk/public/u4iamods.html) U4ia mods home page ((http://www.warped.com/~u4ia/u4iamods.html) USA mirror), along with tons of other cool mods.
Another good place to start looking for MODs is (ftp://ftp.cdrom.com/pub/demos/music/songs/) ftp://ftp.cdrom.com/pub/demos/music/songs/.
And don't forget, (http://wvnvaxa.wvnet.edu/~hrieke/US.html) The Ultimate Sound Page.
-----
(http://www.spectra.net/~fox/) Chris Wenham is a Team OS/2er in Binghamton, NY with a catchy-titled company -- (http://www.spectra.net/~pendulum/webworks/) Wenham's Web Works. He has written comedy, sci-fi, HTML, Pascal, C++ and now writes software reviews.
---Our Sponsor: Perez Computing Services (http://www.pcs-soft.com/)---
***********************************
WPTools Revised for Warp 4 - by Larry Ayers
----------
After installing Warp 4 I quickly discovered that two of my most-used utilities no longer worked. The IBM EWS memory-usage display utility Os20Memu, still needs updating, but the other one, WPTools, has recently been revised and is available on popular FTP archive sites.
WPTools is a collection of Workplace Shell utilities, including Desktop backup and restore (which I've never used; I'm happy with Robosave, another IBM EWS free utility) and a utility, CheckINI, which cleans superfluous entries from the OS2.INI and OS2SYS.INI files. If you have bought the commercial product, UniMaint, this article will be of little interest to you, but if you balk at having to buy an expensive piece of software in order to perform essential system management, read on.
CheckINI is a command line tool which displays its copious output in an OS/2 window, as well as logging it to a file. When run without switches it parses your INI files and tells you what it would do if given the chance. If run with the /C switch, it will edit the files interactively, asking permission for each useless entry it would like to expunge. The entries in question are mostly references to every program, file, and desktop object you've deleted since installing OS/2! As you can imagine, these do accumulate. My experience is that these useless entries in the two INI files slow the system down and make it feel sluggish.
After using Warp 4 for several weeks it seemed that my system was slower than it was just after installation, but this is hard to judge. I tried running the copy of CheckINI from WPTools v18, but it died after numerous errors. Evidently the internal format of INI files has changed with the release of Warp 4.
When I saw that Hank Kelder had released a new WPTools to the Hobbes and Walnut Creek's FTP sites, I lost no time downloading and running the new CheckINI. CheckINI worked for nearly an hour, reminding me of all the programs (many from the Warp 4 Application Sampler CD) which I had installed and deleted. The result was a substantial reduction in size of OS2.INI and OS2SYS.INI and a noticeably snappier system. I'm running OS/2 on a 486, so any improvement is welcome!
Reducing the size of OS/2's INI files reduced my boot-up time, as the files are loaded into memory when OS/2 starts, and are periodically read back into memory in order to keep up to date with file and WPS changes. I've noticed that spurious INI file entries seem to particularly affect programs with hooks into the Workplace Shell, such as Object Desktop.
If you've ever been confronted with inexplicable WPS behaviour or error messages, the problem is likely rooted in these OS2*.INI files; it stands to reason that if these files accurately mirror the real state of affairs in your system, programs which rely
on the information they contain will run more smoothly.
An alternative to using a utility such as CheckINI is to revert to a previously backed up version of a Desktop when problems occur. I try to avoid doing this, as inevitably there are new program objects and other WPS features which will be lost and have to be recreated. The virtue of CheckINI is that it is only looking for spurious data and leaves everything else alone.
(A caveat: after CheckINI has sifted through your INI files and rewritten a new, slimmer version to disk it is advisable to reboot immediately. If you don't, the changes may not "stick".)
I strongly encourage OS/2 users to try out CheckINI. I've used it regularly for about a year and a half, and never had the utility cause damage to the binary-format OS2*.INI files. I've found that running it about once every couple of weeks keeps my INI files in good shape, but I'm a software junky; if you don't make that many changes to your system it could be run much less frequently.
If you have a relatively stable Desktop; i.e., you don't add and remove objects and icons very often, this utility might not be absolutely essential. But if you try out new shareware frequently and in general your system is in a state of constant flux I think you will be surprised at what a difference running CheckINI can make. Try it and see!
-----
* WPTools v1.9
by (hkelder@inetgate.capvolmac.nl) Henk Kelder
download from (ftp://hobbes.nmsu.edu/os2/wpsutil/wptool19.zip) Hobbes (ZIP, 238k)
Registration: Freeware
-----
(layers@vax2.rainis.net) Larry Ayers lives on a small farm in Northeast Missouri, where he operates a portable bandsaw mill and does general woodworking. He has been running OS/2 since the release of Warp 3.
---Our Sponsor: Post Road Mailer (http://www.aescon.com/innoval/)---
***********************************
YAOS v1.6 - by Ryan Dill
----------
A lot of good things can be said about OS/2, but one thing is for certain: its default command line shell, CMD.EXE, has got to be one of the most user-unfriendly tools known to mankind. I can understand this, after all one of the biggest advantages of OS/2 is the object-oriented Workplace Shell. In IBM's mind, why would anyone use the command line except as a last resort, right?
The fact is, though, a lot of us do. For those with low-memory systems, a command-line window is a fast and easy way to get things done, one which requires less drag on the system than, say, the Drives object. Many of us are at home in command prompts from using UNIX perhaps, and despite loving the power of the WPS, still use the command line for much of our 'quick-and-dirty' work.
IBM's CMD shell doesn't take full advantage of many of OS/2's features. Long filenames in HPFS, for example, can be accessed through the command line, but only by "Typing the long name fully and enclosed in quotation marks". Ick. Wouldn't it be easier if you could complete that filename without bothering with quotes and without having to type the whole thing?
Those of you reading this who know about JP Software are probably saying, "Yeah, but you can do that! Just get 4OS2!" JP Software's 4OS2 is a great product, but that's not what I'm here to talk about, because I don't need it. I use the amusingly named "Yet Another OS/2 Shell".
Despite the name, YAOS is anything but just another shell. It allows command-line completion of filenames, command aliasing, drive-wide "cd" (change directory) switching, command history, executable extensions, and more. Why should you use YAOS rather than 4OS2? Simple: it's free, and according to the author, probably always will be.
Maybe I should explain a few of these feature for those of you who aren't command line fanatics. In my opinion, YAOS' most useful feature by far is its command-line completion ability. Just type in the first few letters of the filename you want to access, or the directory you want to switch to, and press