@database EngClock '96 Help @author "Ben Matthew" @(c) "Copyright ® 1995 by Ben Matthew" @wordwrap @node Main "English Clock '96 Help" Ben Matthew proudly presents.... @{u}English Clock '96 Copyright ® 1995 by Ben Matthew@{uu} @{" Disclaimer " link Disclaimer} - Legal stuff @{" Introduction " link Intro} - Just what is EngClock? @{" Features " link Features} - Whats new? @{" Requirements " link Requirements} - What do I need to run it? @{" Installation " link Install} - How do I install it? @{" Why? " link Why} - Why write EngClock? @{" How? " link How} - How do I use EngClock? @{" C Programmers " link C} - Code talk @{" Credits " link Credits} - Acknowledgements @{" Bugs, Comments, etc. " link Comments} - It's good to talk @{" Program History " link History} - Past problems @{" Known Bugs " link Bugs} - Don't tell me about these! @{" PGP Alert! " link PGP} - Make sure your copy is authentic A brand new version with more features, memory efficient, a full blown graphic user interface and loads more... It's the ulimate clock program written exclusively for the Amiga. EMail problems, suggestions and bugs to: EngClock@bmatthew.demon.co.uk @endnode Send comments and bugs to: EngClock@bmatthew.demon.co.uk @node Disclaimer English Clock '96 is Copyright © 1995 by Ben Matthew. The EngClock '96 package consists of the executable program, the AmigaGuide hypertext file, the ANSI text doc file and the source code files. English Clock '96 is a FREEWARE package. That means that you may freely distributed this program providing only a small copying fee is paid for it. The original EngClock '96 distribution archive contained the following files: EngClock - The executable file EngClock.info - WB Icon for the above EngClock.guide - This Amigaguide file EngClock.guide.info - WB Icon for above EngClock.doc - ANSI doc file EngClock.doc.info - WB Icon for above Source/#? - Directory containing all the source code If you intend including EngClock in any kind of PD collection such as Fred Fish, or similar, then feel free, the only thing I ask is that all the documentation is distributed with it. I do not accept any responsibility to any damage that may be caused due to the use of this program. You use this program entirely at your own risk! EngClock '96 was compiled using SAS/C. The GUIs were written with the aid of GadToolsBox v2.0. GadToolsBox v2.0 is Copyright © 1991-1993 Jaba Development. @endnode @node Features EngClock as of version 6.7 now supports the following features: * Commodity Support * Workbench Support * Fully configurable preferences * Translator/Accents Support * Localisation * Three different languages * Hotkeys * Public Screen manager * Jumping * Text Justification * Automagic window resizing * Different colour schemes for different sceen depths * Display date as well as time * Use a GIF/JPEG/BMP/PNG/IFF/other datatype as a backdrop * Full alarm management system * Play samples as alarm events * Use a requestor with a user definable message * Have events that are weekly, monthly, annually or daily * Events which can work up to the year 2010 * An emormous vocabulary of ARexx commands * Fully multitasking windows @endnode @node Intro English Clock is a simple utility that finds out what the current time is from the system clock then displays that time in a little window. The time, however, is not displayed in figures as with most clock utilities but is displayed in words, either in English, French or Spanish according to Locale and the EngClock preferences. Furthermore Engclock will also display the date, in words, if requested. If you hit a hotkey when ANY window is selected Engclock turns into talking clock! This is only available, currently, in English. So, have a click around this database and learn what its all about! Ben Matthew (28/05/95). @endnode @node Requirements EngClock works with any Amiga with OS 2.0 or higher. It does not require a battery backed up clock but one is definetely recomended! EngClock V3.0 has been tested on the following configurations: A1200, 2MB chip RAM. A1200, 3MB - 2MB chip, 1MB fast. A500 Plus, 1MB chip A4000/030, 2MB chip, 8MB fast. A4000/040, 2MB chip, 14MB fast + Picasso II (Cybergrafx) And functions fine! Basic, essential software requirements are: intuition.library (ROM) gadtools.library (ROM or Disk) diskfont.library (ROM) utility.library (ROM) graphics.library (ROM) Additional features require: Speech (alarm + hotkey) requires narrator.device and translator.library. Plus locale.library Hotkeys + Commodity access require the commodities.library File requesting (prefs) requires the asl.library Display Backdrops requires OS 3.0 and the datatypes.library Localisation + sample playing requires the iffparse.library Decompressing sound samples requires xpkmaster.library ARexx interface requires the rexxsyslib.library @endnode @node Install How to install English Clock on your system: Get real!! This is an Amiga not a crappy IBM clone! The operating system you are using is MULTITASKING and USER-FRIENDLY so document sections like this are pointless (if you code properly that is). Simply install EngClock by either dragging the EngClock icon into an appropriate drawer on your system disk (which should be a hard drive if your a serious Amiga freak). You can then double-click on it from there to run it. Alternatively you can drag the icon into the WbStartup drawer on your SYS: disk. EngClock will then boot automatically every time you start Workbench. Make sure that the TOOLTYPE "DONOTWAIT" is present on the icon's information!! You can of course use that nasty DOS thingy to copy the files over but because EngClock is completely self-contained - except the prefs file but that isn't essential - the ole drag-n-drop technique is perfectly all right. If you want to hear EngClock talk you will need the narrator.device in your devs: directory. The late CBM, in their infinite wisdom, decided not to include this with OS 3.0 and later so some of you may not have it as default. I am not sure about the legalities of distributing such files, esp since the Escom takeover but I included it with my original distribution. You may find however that it is not included with the distribution you have got. In this case find a willing A500 owner who is still running an OS with the file and steal it! ONE last point. EngClock writes to a binary preferences file in the s: directory. Make sure that the s: directory is free from defects and has been wiped clean with a damp cloth before running EngClock. The preferences file is backwards compatiable, so if you are using an old version of EngClock then this version should be able to use it! @endnode @node Why I wrote EngClock for two reasons. Firstly because I have just started learning C and it was a nice programming exercise and secondly because I notice a similar utility running on a UNIX system and liked the idea. @endnode @node How @{u}How to use English Clock: @{uu} @{" Running English Clock " link Running} - Getting up and running @{" Localisation " link Locale} - The right language @{" Talking Clock " link Talk} - It can talk! @{" Preferences " link Project} - Suiting your tastes @{" Jump " link Jump} - Jumping around! @{" Commodity/WB Access " link CX} - Special access! @{" ARexx Support " link Rexx} - Access via ARexx @endnode @node Running EngClock can be run either from Workbench, via the attractive (!) icon, or from the CLI. Both ways result in the same program. EngClock as of version 5 auto detaches from the initial shell process. That means you do NOT need to use the "run " prefix. Just type: EngClock To run from shell. If you drag the icon into the WBSTARTUP drawer then makesure that the DONOTWAIT tooltype is present. Check using the information option in the icons menu on WB. This is the case if you run EngClock from your startup-sequence. @endnode @node Locale EngClock now supports locale slightly better than before. Engclock will look at the env:sys/locale.prefs file, parse it, and find out which language you have configured. It does not open the locale.library to do this. @endnode @node Talk EngClock V3.0+ is now also Talking Clock! English Clock will talk via the super duper translator.library v42.4 by Francesco Devitt. This is included with this program. This means that it is possible for EngClock to talk in a whole number of different languages. Thanks to Damaso for bring this library to my attention. To get EngClock to talk you must be running the commodities system which was given with all Amigas after and including the A500 PLUS. Then configure what key you want to use to make EngClock speak in the prefs program. Pressing that key, !wherever you are!, will make EngClock say the time in your chosen language. If you do not have the translator.lib installed then click on the installlib icon included to install it on your system. The language can be changed by clicking on the little icon beside the accent filename box in the prefs program. This option requires narrator.device in the devs: dir. Narrator.device is a Copyrighted device and should not be distributed without the express permission of the current holders of the Amiga`s distribtion license. This currently is Amiga Technologies GmBH. However, because it is highly unlikely that the guys at AmiTech are going to be as big a set of prats as those at the late CBM you should not worry too much about this. As of version 6.9 this option will detach itself as a new process and will allow normal use of main program whilst time is being spoken. @endnode @node Project Engclock has a reasonably well layed out preferences user interface as of version 4.0. Here's how it works: @{" Justification " link Just} @{" Language " link Language} @{" Display Date " link Date} @{" Auto " link Auto} @{" Colours " link Colours} @{" Public Screens " link Public} @{" Backdrops " link Back} @{" WindowToFront " link Win} @{" Accents " link Accents} @{" HotKeys " link Hot} See also: @{" Alarm settings " link Alarm} The preferences window will detach itself as a new process so that the main window will continue to function as normal. This enables you to see exactly what each option does before selecting use or save. However, the window does not dynamically refresh so to see the different settings working you will need to resize the window to initiate a refresh. Note that you cannot access the menu (or hotkey) option to pull up the prefs screen if you already have it open this will simply not work! Also you will not be able to quit without closing down the prefs window first - be careful. @endnode @node Just @{u}Text Justification@{uu} By selecting the appropriate gadget Engclock will adjust the text for the time and date to suit your tastes. You can either select the text to be left or right justified or centred. Just click on the right gadget and hit Use&Save to change the layout. @endnode @node CX Commodity and Workbench access in EngClock EngClock. when started, tries to attach itself both to the commodities list and the Workbench tool menu. As a commodity EngClock allows you to enable, disable, pull up the prefs window and quit. EngClock does not allow you to close the prefs window via the commodity system. This actions can be achieved using Exchange or any other monitoring software, like MUI_EXchange. If you run EngClock from WB then you can select the EngClock option from the Tools menu on your Workbench. This will bring up a requester where you can choose to quit or go into the prefs window. THE WB MENU OPTION, AT THE MOMENT, IS A BIT UNSTABLE!! DO NOT USE IT UNLESS YOU ARE PREPARED TO WITNESS A HUGE CRASH!!! AVOID LIKE THE PLAGUE BECAUSE I AM NOT RESPONSIBLE FOR ANY LOSS OF DATA CAUSED BY THE USE OF THIS PROGRAM! @endnode @node Rexx @{u}Arexx Support@{uu} EngClock has a fully featured ARexx port for all you budding ARexx programmers out there. If you do not know what ARexx is then you had better go away now coz it is not that easy for the beginner to understand. EngClock's Rexx port is a simple affair. No results are returned and commands are either solitary instructions or take parameters. Here is a run-down of the 18 commands supported: The name of the ARexx port is: @{b}ENG_REXX@{ub} "Quick glance" list of functions SENDPORT SENDFILE ACTIVATE SPEAK PREFS LEFT RIGHT CENTRE NEWWIN ENGLISH FRENCH SPANISH AUTO ON AUTO OFF DATE ON DATE OFF SCREEN PICCY ACCENT QUIT Command: SENDPORT Parameters: 1 - Port name Synopsis: Sends time string to a AmigaDOS device (physical or logical) Description: This command is designed for people who want to use the EngClock time string for other things like in no-nonsense stdout/stdin apps or whatever. The text string for the time only is written to the specified port (like SPEAK:). Note that you should only specify a port name and not a filename and use it only with ports which were especially designed to be treated like this! (This is a PIPE not a drive) Command: SENDFILE Parameters: 1 - filename Synopsis: Sends time string to a file Description: This is identical to SENDPORT (see above) except that the time string is written to an actual file rather than a PIPE-like port. Command: ACTIVATE Parameters: None Synopsis: Pulls main window to front Description: This simply calls the intuition function WindowToFront() to bring EngClock's window to the top layer. Command: SPEAK Parameters: None Synopsis: Triggers the talking clock Description: Command: PREFS Parameters: None Synopsis: Triggers the main prefs window to open Description: Command: LEFT Parameters: None Synopsis: Left justifies the current text Description: This, and the functions below, can be used to configure EngClock for different situations and abolishes the need for different s:engclock.prefs files. Command: RIGHT Parameters: None Synopsis: Right justifies the text Description: Command: CENTRE Parameters: None Synopsis: Centres the text Description: Command: ENGLISH Parameters: None Synopsis: Makes the current text stream in English Description: Command: FRENCH Parameters: None Synopsis: Turns text French Description: Command: SPANISH Parameters: None Synopsis: Turns text Spanish Description: Command: NEWWIN Parameters: 4 (comma deliminated) - parameters for new window Synopsis: Changes the current window dimensions Description: This command will change the main EngClock window's dimensions. The parameter must be in the form x,y,width,height - comma deliminated integers. For example NEWWIN 10,20,600,200 Command: DATE Parameters: ON or OFF Synopsis: Turns the date text on or off Description: The parameter must be in capital letters! Command: AUTO Parameters: ON or OFF Synopsis: Turns on or off the autoadjust feature Description: Command: SCREEN Parameters: 1 - Screen name Synopsis: Sets the default public screen name Description: Parameter does not need to be a correct string but should be. Note that this option will not work unless the prefs are saved and so is a little pointless. Command: PICCY Parameters: 1 - Picture filename Synopsis: Loads in a new backdrop Description: Like SCREEN but not only sets the backdrop filename but loads it and displays it as well - useful if you want to have different backdrops for different Workbench configurations. Command: ACCENT Parameters: 1 - Accent filename Synopsis: Changes the current accent Description: Like above but changes the accent filename to specified string. All speech after the point of instruction will be in that language. Command: QUIT Parameters: None Synopsis: I wonder?! Description: @endnode @node Language @{u}Languages@{uu} EngClock supports three languages: English French Spanish The English module is the main one and since I speak English then this is the best. The French module is not so hot since I only speak it a wee bit. There may be errors but should be OK. The Spanish module was written with the much appreciated help of Dámaso Domínguez Estévez who wrote to me suggesting a few things. I am very grateful and pleased that somebody actually has a use for the Spanish module. As such I believe that the Spanish is now quite good! If there are still any problems then write and let me know. The language which Engclock uses is a bit complicated but goes a little something like this. If you have Locale installed then Engclock will use the language set by the locale prefs program on WB. If not then Engclock uses the language set by the GUI within the program If prefs not found then English defaults. To change the language use the Locale prefs program found on the Prefs drawer on your system disk. If you do not have this installed then click on the right gadget in the GUI and save. You will need to close down the program and start up again to make this change active, however. @endnode @node Date @{u}Display Date checkbox@{uu} Clicking on this will display the date as well as the time. The date will appear in words below the time. This change is automatically recognised. Unless this checkbox is ticked, if you ask EngClock to "talk" the time the date will not be said. @endnode @node Auto @{u}Automatic window adjustment@{uu} This option will automatically adjust the window size to accomodate the current size of the text message. It prevents the need for silly MinWidths taken up all your WB with blank window space. The way the window adapts depends on your text justification settings. If you have your text centred then the window will strech/shrink equally from each side (or at least appear to) so that if you have the window in the centre of your screen it will stay centred. If your text is left justified the window will strech/shrink to the right so that the left hand side of the window stays in the same place. This is vice versa for right justifcation. This has been implemented so that if you want EngClock on the right, you have right justification and it stays there. Likewise for centre and left. @endnode @node Colours @{u} Changing the colours @{uu} Using the sliders on the GUI you can change the colour of the time and date text within the window. An example of the colour is given in the box left. You can use any of the 256 pens available. The problem for me when I first wrote this was that the pens in different colour modes changes. For example when I run my compiler I use just a bog standard 4 colour system and with these limited colours I like to use black text and blue date. However when I use a DTP, or Word processing program on WB I have 16 colours. If I am using intuition graphics then I use a 256 colour WB and so on. With more colours available I do not just want to use the black/blue combo. So whats the solution? The solution is what you see in the form of the colours slider on the GUI. By changing this slider you can have different colour schemes for different colour screen modes. For example I have Black/Blue when the slider reads 4 colours, and Light Blue/Deep Red when it reads 16. When you start EngClock detects how many colours are available and uses the right scheme which you set. Note that when setting these values change your screenmode to the amount of colours you are setting, e.g.: when altering the scheme for 32 cols change to that mode first. Otherwise you may find that it isn't right because the colours repeat themselves on the later half. Play around with it and it will all become clear. @endnode @node Public Public Screen Handling in Engclock =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ EngClock can attach itself to any public screen, not just the workbench. To set the default public screen go into the preferences GUI and enter the name of the public screen into the string gadget marked public screen. If the public screen is open when you do this you can simply click on the gadget to the right of the string gadget and a list of public screens currently open will appear. Note that the public screen must be opened before you execute EngClock for it to work. Please read: @{"BOOPSI GetFile" link get} @endnode @node Back Backdrops in EngClock (OS 2.1 and above only) ============================================= As an extra bonus you can now add your own backdrops to the time window. Simply go into the prefs GUI and either enter in the name of an image file in the gadget box or click on the gadget to the right of the string gadget to pull up an asl requester. You can then select an image from there. EngClock uses the datatypes to load and view images, this means that it will only work on OS 2.1 and above machines. It also means that any suuported format can be used as a backdrop - iff, gif, jpeg, bmp, png or any other datatype you have installed. Note that Engclock does not support colour remapping, so most images will, at first, look distorted. To use an image as a backdrop you must first remap it. To remap an image do the following: 1) Get a screen grab of your workbench screen using either grabiff or similar. 2) Load your backdrop image into DPaint 3) Flip to the spare page using "J" 4) Load the screen grab onto the page 5) Flip back 6) Select palette->ReMap colours from the menus 7) Pick up remapped backdrop as a brush and save, use this as the backdrop image. Future versions may support colour remapping so watch out! (If anybody has the code to do this on WB, then I would be pleased to hear from you). Because of the way EngClock works I would suggest that you first copy the backdrop into RAM: and use it from there. Please read: @{" BOOPSI GetFile" link get} @endnode @node Accents Accents in EngClock EngClock, when it speaks, can be configured to use an of the accents ou currently have localised. This is based on the translator.lib by Francesco Devitt. If Francesco Devitt writes any more accents, other than the ones supplied, copy them into your locale:accents dir and EngClock will be able to use them. If you do not have the new lib and/or prefer the old translator this will be ignored and stuff will be spoken in English. Just click on the icon to pull up a list of available languages Please read: @{" BOOPSI GetFile" link get} @endnode @node Hot Hotkeys There are two hotkeys used in EngClock. One to make EngClock speak, see @{" Talking EngClock " link Talk} and one to make the EngClock preferences window appear on the screen. Both hotkeys are definable in the prefs window. Acceptable hotkeys are as follows: CONTROL ALT e control alt e alt E control ; shift F6 help or any similar hotkey in the same style. Hotkeys are implemented via the commodities.library so this is required to use hotkeys. Also because of this hotkeys work whether the window is selected or not. @endnode @node Alarm EngClock can now do alarm events! You have ten main alarm presets. Set the time that you want the event to go off. If you want to set a specific date then click on the Date button and set it. Then choose what type of event, 4 are currently available: a) Requester b) Speech c) AmigaDOS Command d) IFF-8SVX If you choose a) then type in the text message in the param box If you chhose b) as in a) If you chhose c) type in the name of the command to be execute in the box or click on the icon and select from requester. If you choose d) as c) Make sure you enable the event if you want it to work! Note that when you choose to set the date the window will detach itself as a seperate process (like the prefs window), so make sure you shut down the date window before the prefs or it will not save! Please read: @{" BOOPSI GetFile" link get} @endnode @node get The BOOPSI GetFile Image ------------------------ EngClock uses the BOOPSI GetFile image gadget as supplied with GadToolsBox v2.0. This image is freely distributable but is Copyright ©1992-1934 Jaba Development. I do not claim any rights towards this part of the program. @endnode @node Win The WindowToFront Checkbox ========================== If this checkbox is active then every time the window needs refreshing the Window will be brought to the front of the screen. Useful if you are going somewhere and need reminding all the time! @endnode @node Jump "Jump" EngClock has a menu option called "Jump". If selected the EngClock will lock the next public screen and re-open on it. It will, therefore, "jump" to it. This is useful if you only want EngClock to open on a particular public screen once. @endnode @node Comments Any ideas, code, comments, etc. to: Snail-Mail: Ben Matthew, 16 Blackthorn Close, West Kingsdown, Sevenoaks, Kent. TN15 6UF England. E-mail: EngClock@bmatthew.demon.co.uk The lastest version of this program is available on the Aminet. ftp from your favourite aminet mirror in /util/time. i.e: ftp://src.doc.ic.ac.uk/pub/aminet/util/time/EngClock.lha. Send any problem mail to the above address. I am especially interested in spelling errors or misuse of language with the Spanish and French implementations. If anyone can write a French version of this doc file then I would be happy to hear from them! English Clock '96 has been tested on an A1200 with 2MB chip mem running OS 3.0 with an IDE hard disk, PCMCIA CD-ROM and external floppy. EngClock should work on just about any Amiga configuration. If you have ANY probs at all using this program contact me and I'll see what I can do. Note that EngClock does require OS 2.0 or greater! If there is any feature you would like included in this program that is not currently available scribble down your ideas and send them to me I don't mind doing requests!! If you find any bugs in this program or you have a suggestion or a request, or any problems at all, contact me at the address above. This program has been developed for myself, but I have made a considerable effort in making it "public friendly". This includes developing the docs and the GUI which has taken a very long time. Not to mention making it possible to use engclock with almost every font setup!. I do not expect any monetary gain from this project but I would appreciate some response, even if it is just a postcard saying thanks. See Also: @{"Bugs" link Bugs} @endnode @node Credits English Clock '96 was written by Ben Matthew © 1995. English Clock is based upon a similar program on GNU Linux called "ADI English Clock" which was written by my big brother Neil. Its about time he moved over to a real computer!! ADI English Clock is © Neil Matthew. Written on X-Windows of course. The resources I have used to teach myself to code this amazing machine are as follows: Mastering Amiga C by Paul Overaa Practical C Programming by Steve Qualline C for Yourself - by (cough) Microsoft Corp. The Amiga C Enyclopedia - by Anders Bjerin (Amiga C Club) Amiga ROM Kernel Reference Manual, Includes and Autodocs - by CBM And various people's source code! Thanks to them all!! Thanks also must go to Justin Langford who helped me out on the rather dodgy Spanish bits in this program. Thanks Just! But an even bigger thank you to Dámaso Domínguez Estévez who correct Justin's poor Spanish and suggested some very useful stuff. EngClock is now internationally famous! Finally thanks to Commodore - even if you are not Commodore anymore. You have designed the most powerful and user-friendly home computer system ever. Just make sure you do not use Windows NT as the only Amiga operating system in the next generation of Amigas on RISC. I can think of nothing more tragic then of every computer in the world running Windows - and thats the way its going. Anyway, get those production lines rolling again, I might want to upgrade my A1200 soon. @endnode @node History @{u}History of the program EngClock:@{uu} EngClock v1.0-v1.x (1995) - Pretty naff primarily versions. Not worth mentioning really! EngClock v2.1 (May 1995) - First offical release. Indirectly supports locale, three languages. EngClock v2.2 (May 1995) - Now displays (am) or (pm) after time. Uses midday and midnight instead of just twelve. Code is a bit messy. EngClock v2.3 (June 1995) - Tidied up code. Snapshot window now works without resorting to MoveWindow, etc. Big (BIG, BIG) improvement - now supports fonts set by system! Improved refresh routine. Removed on-line help coz its a waste of time Fixed a spelling error in the Spanish text. EngClock v2.4 (July 1995) - Super improved about requester (cor!). Plus fixed a few other things. Restructured the code into two files, main and globals. Menus are now font-sensitive. Menus now have keyboard hotkeys. EngClock v2.5 (July 1995) - Now supports both types of configurable fonts! Tweaked the menus a bit - work better with high res modes. Updated the prefs file format so that I can change it later on but still support older files ( version element in binary file). EngClock v2.6 (Aug 1995) - New options! Now user can configure whether the window text is left justified or centred! Added support for high res wb users because window will now resize with the limits set by the screenmode (i.e.: not constant). EngClock v2.7 (Aug 1995) - More options !! Can now choose whether to show date as well as time. Currently only English date supported but later versions will support other languages. EngClock v2.8 (Aug 1995) - Fixed bug which caused window to flick if running in non-date mode. This version now lets you change the colours of the date and time (1st 4 pens only, however). EngClock v3.0 (Aug 1995) - English Clock is now also Talking Clock! English version fully supports the narrator.device speech facility, but does not rely on the hit-and-mess translator library (built in phonetics!). French version now displays date as well, not available in Spanish coz I dunno any! Documentation updated to include features. 1st major revision for a while. EngClock v3.1 (Sept 1995) - Minor changes. EngClock v4.0 (Sept 1995) - Now features a fully working GadTools GUI for the preferences program! Fixed a bug in the phonetic which caused any 35/25 min lines to fail. GUI allows the use of all the 256 pens in AGA and pos RTG systems. Multiple colour modes means you can have a different scheme for each screenmode. Compiled using GCC and therefore ANSI compliant + no memory scrambles. Menus cut down coz of GUI. EngClock v4.1 (Sept 1995) - Fixed a bug in the Project Menu--Quit which made it crash. The GUI is now fully font sensitive (fixed bug causing RectFill to draw example cols in wrong place). EngClock v4.2 (Sept 1995) - Can now attach to any specified public screen, not just the workbench. Handy if using DOPUS or other program where you need to have the whole screen to one program, but want a clock. EngClock v4.3 (Sept 1995) - Added facility to load in a background image in window using datatyoes.library. Uses the blitter for maximum speed. Also reads the locale prefs file using the proper CBM method, iff parsing and all that jazz. EngClock v5.0 (Oct 1995) - Updated the graphic user interface, thus eliminating the need to add parameters on the CLI. Hence, you have two new string gadgets, one for the pubscreen and one for the backdrop. EngClock v5.1 (Oct 1995) - Added in "version" code, plus extra checking code when loading in backdrops to make sure the refresh works properly. EngClock v5.2 (Oct 1995) - Uses BltBitMapRastPort() to blit data into the window's RPort instead of the BitMap inside the screen - works much better. Removed the WindowToFront() line as well so no more annoying windows coming forward every minute!! EngClock v5.3 (Oct 1995) - Uses auto detach startup code in SAS/C. Found that using DONOTWAIT as a tooltype there are no program Blah,Blah has not returned errors. EngClock v5.4 (Oct 1995) - Uses the GadToolsBox getfile BOOPSI gadget to run a asl requestor in GUI prefs when selecting a backdrop image. New checkbox in GUI as well - to select whether you want the window brought forward or not on refresh. Changed the about window so that the text is left justified because it caused some problems on machines with larger configured fonts. EngClock v5.5 (Oct 1995) - Uses gadtoolsbox getfile image on pubscreen string as well, to call up a listview on the current list of screens. Fixed a bug in the asl requester. EngClock v5.6 (Oct 1995) - Spanish version is much imrpoved thanks to Dámaso Domínguez Estévez! EngClock v5.9 (Oct 1995) - General interface adapts to Spanish (about, menus and prefs). Almost but not quite perfect! EngClock v5.8 (Oct 1995) - Prefs program now has a use button for previewing changes before saving. Small updates to the Spanish text. Now the prefs GUI fully adapts to french. Plus the menu texts adapt to french. EngClock v6.0 (Oct 1995) - Now handles alarms, updated GUI. Uses up to 10 "events" using selectable alert method EngClock v6.1 (Oct 1995) - Alarms can now be daily, weekly, etc plus a specific date via new GUI window. EngClock v6.2 (Nov 1995) - Did something EngClock v6.3 (Nov 1995) - Removed a bug which caused EngClock to crash if a weekly event was used (on startup). Have removed all printf()s --> AutoRequests EngClock v6.4 (Nov 1995) - Improved Spanish bits for both time and prefs including alarms. Much improved pic loading means less CPU hogging + vague remapping! Memory mashing has also been removed. If Locale is available MX_Lang is ghosted. About box now works with all fonts which going bannanas! Speech now works with the new multi-lingual TranslateAs() function, and all speech is re-direct. Have removed all built-in phonetic strings because new translator.lib is freely ditributable! EngClock v6.5 (Nov 1995) - Now has commodity support and can be run from the Workbench Tools menu if it gets lost on the Workbench! Built in requester determine whether the tools menu quits or pulls up prefs. Have implemented hotkeys via commodities to call up prefs + speak. EngClock v6.6 (Dec 1995) - It's now gone midnight and, at last, I have managed to sort out all the flipping lib bases and rid the special access routines of a 196 byte memory mash bug and it has taken me HOURS!!! But, its fixed! Its fixed!!! EngClock v6.7 (Dec 1995) - Autoadjust now works! Have modified the text justification code to accomodate this amazing new feature. Update the guide file to work with all fonts (wordwrap) EngClock v6.8 (Dec 1995) - Now has an enormous ARexx interface! Any ARexx application can control 18 different aspects of EngClock. EngClock v6.9 (Dec 1995) - Getdate, prefs and talk now work as multitasking independant processes to allow better access. Now means that you can try before you buy with the prefs options. 70K + (!!!) Getting a bit big! Now uses the ARQ extended EasyRequest to have more fancy questions and about window. Seemed to have fixed a horrible "out of stack" bug (due to Process spawns). Date is now only spoken if it is set in prefs. EngClock '96 (Jan 1996) (also known as v6.9a) - Fixed a horrible little bug that made the auto adjust routine go mad when you switch between autoadjust and no autoadjust without restarting the program. Also tried to fix an out-of-stack problem with the spawned "Talky" process. Deleted the features: new processes for windows due and WB menu "tools" option due to severe problems with both. First version to be uploaded on the Aminet. Lost the doc version (just guide). @endnode @node Bugs Known Bugs ========== 1) Timer.device When the system time is changed by hand, either using the prefs/time tool or the date command then SOMETIMES the timer.device stops sending messages to EngClock resulting in EngClock not updating. I don't really know WHY this happens but I will look into it. Note that this does not disrupt either your system or the EngClock interface in any way it merely "pauses" engclock. To get EngClock ticking (pun) over again then select the EngClock window and press down the right mouse button. This, for some reason, restarts the timer. Remember, though, that if EngClock stops like this then it has NOT crashed!! 2) Fonts I have spent ages and ages getting EngClock to support different fonts! However there are a couple of points to consider: Sometimes EngClock will not open its window when using certain font sizes. This is due to the error checking routines which make it impossible to use too big font sizes for you current screen mode. I know about it and I am looking into it. It is a better problem to have then in v2.4, however! Workbench Occassionaly Engclock will crash if killed from the WB tools menu. Not sure why but am looking into it. @endnode @node C @{u}C Programmers!@{uu} If you are a C programmer then you may have found my code very amusing. Amusingly crap, that is! I am not the most structured coder and I have only recently started using C. If you think you can do better then send any code fragments to me to intergrate into a future release. Note that although you are in your rights to change elements of EngClock for your own personal use the Copyright still remains with me and, as such, you are forbidden (by Copyright law) to re-distribute any such version! For the beginner coder: For the absolute beginner in C there may be some bits you would like to use in this program. This is fine - I have no problems with that. All I ask is that any direct lumps of code which have been lifted straight out of the source should be achknowledged to me. Just stick my name in somewhere visible (doc?). A function which might be useful is talk(). Function: short talk(char *text) Description: Sends phonetic data in "text" to narrator.device Inputs: text - pointer to phonetic data stream Returns: 1 if successful, 0 is not. Notes: The data is text must be phonetic data, that is the stuff that appears in the phonetic window in "say" (OS 1.3). This is what FREEWARE is all about. REMEMBER THE COPYRIGHT REMAINS WITH THE AUTHOR! @endnode @node PGP If your using the Amiga port of Zimmerman's secure Pretty Good Privacy system then you may want your mail to be secure (for whatever reason). I hereby present, therefore, my PGP public key!: -----BEGIN PGP PUBLIC KEY BLOCK----- Version: 2.6.2i mQBtAzD7C94AAAEDALCxw1FYcEwbbD7WKqB/jNrFyNnnmLilg269jJGigDg20/Dw B1tLHAWrGLaNWyvd3wfgy7mE/jlXY6TyBH2EQHjPZFXQ6btYZ5Ak1mx9xUBmnmR6 3ly9kQiRkXrs0hIZ4QAFEbQmQmVuIE1hdHRoZXcgPGJlbkBibWF0dGhldy5kZW1v bi5jby51az4= =xZ7/ -----END PGP PUBLIC KEY BLOCK----- If you want to check the md5 checksums for the source and binaries, here are the original codes: b3842856666c8cbcef11d2cd75c573e8 *EngClock 5600369be4f34deca31c14ae4ea6b49a devs/narrator.device f4c98b48ffa0722a867f4830829a9a86 libs/translator.library a208b3946845d588d36cc8fedee323fa Source/about.c 0127e541ff89dfc5d341926e2e333f2b Source/alarm.c 0c01e016aca248e62b59dff9df07f00a Source/auto.c a31359f87db63621fb15b5cf4956e326 Source/engclock2.c 1e45fb3ea52df5644c4375af992df9c0 Source/engclock_prefs.c ca3662692150cd576bc175dfa94c48bf Source/EngClock_Prefs.gui 2f9b0ba920fabf7cfa18e057fa7def41 Source/engclock_prefs.h b1482e13bc419557bc3310a88b3db75d Source/engclock_screen.h 0fc92c14748b7e79c3353c9148dff2de Source/getdate.c f2f577ac2efdc73bd81093bb97140c1a Source/getdate.gui 411b61ad62eb04df5fd8909e12ae71de Source/getdate.h 7521ca7b9050d67b49a91e087be4ab68 Source/globals.h df8de262c14376bd7daa063be8fb2ae9 Source/jump.c ee26987c4f56159e3cd82e0f864e4bb2 Source/locale.c 28d92911621b9906ae26d4ff0027619e Source/oct.c eb6bd013cfc3b26bd6441976d0fa4018 Source/oct.gui 2a81ce625222ca9bcaf0ced65e74e76a Source/oct.h 8f473016a5fdf08391982c9a47263cd2 Source/play.c ecb71332a9a76e4b59b4a2e776d320c2 Source/play8svx.c ff6a43d90c71c254d892c7106d5ba03d Source/play8svx_rev.h 3cfc1d581c670a5933385ca29a005429 Source/pub.c 7ac8ccd1df5d6609c0d89691f593eb91 Source/pub.h e5e8f3ec102feac6ff618cd555bb4f01 Source/special.c 34933921d3169f7450d3a1180897a96e Source/talk.c 021a2188f9cffc7f723810371278ac0c Source/tile.c dd5b052bf0a5ae3f8aaa3d32cb08c6f6 Source/translate.c If their is a difference then let me know straight away, post to EngClock@bmatthew.demon.co.uk or the aforementioned snail mail address. And remember: Just because you're not paranoid, doesn't mean their not watching you. @endnode