home *** CD-ROM | disk | FTP | other *** search
- SayMore Version 0.33
- © 1996 - 1997
- By Kenton A. Groombridge
-
- Why the year long wait for so little change:
-
- I took a second job on top of my regular job. This was
- keeping me very busy. I tinkered with the program a little
- bit here and there, but didn't get serious with it. Now I
- am getting ready to go to Heidelberg, Germany, and quit my
- second job. In case you didn't know, I am in the U.S. Army.
- Well anyway, I have some free time on my hands, so I am going
- to try to finish this program. I am seriously looking at
- using ClassAct to do this. I hate MUI. MUI is the totally
- wrong approach to Amiga programming. It is large, it is slow
- and in makes you the user pay for it. ClassAct is a tool for
- the programmer and you the user do not pay a cent for it.
- When I get to Germany, I will probably purchase ClassAct and
- make SayMore the program I have been talking about in my
- "To Do" list. I am going to try to keep my email address
- listed below active for a while, but if you try emailing me
- and can not get through, wait for the next post of SayMore
- and I will have my new email address included.
-
- Introduction:
-
- SayMore is a program designed to replace Say. Say was fine
- for Workbench 1.3, but the Say program included with 2.0X did not
- have the ability to change most of the options in the new
- narrator.device.
-
- There are a couple programs similar to SayMore currently on
- Aminet. These programs have severe memory leaks and are not
- system friendly. A considerable amount of time and effort has
- gone into SayMore to ensure that it is safe. It is near
- impossible for me to test all the limits of SayMore, but all test
- have proven that it is completely 100% OS friendly and has no
- memory leaks.
-
- Disclaimer:
-
- The use of this program is on your own risk. There is no
- liability or responsibility for any damage caused by the program.
-
- Copyright:
-
- SayMore is free to be spread on public-domain and shareware
- disks, as long as they are sold for a reasonable charge.
-
- Use of the program:
-
- I do not plan to charge for the use of SayMore, but I have
- coined the term caveatware. Caveatware means that you may use
- the program with the following stipulations.
-
- 1. If English is your native language, please try to speak it
- correctly. I know that my English is not always correct, but I
- am trying to improve it. Some of by pet peeves are using the
- word "gender" when you mean "sex." As one person who sent email
- to me put it, "Gender is the attribute of a word and not a
- person." This is all part of political correctness which I
- despise.
-
- 2. Write a program for the Amiga. It doesn't matter how big
- or small. Think of something you like, or even find a program
- for another platform and port it to the Amiga. You would be
- surprised on how much source code is available for free.
-
- 3. If you write software for the Amiga, do not use MUI.
-
- 4. If you write Amiga software, and charge a fee for what you
- write, please consider discounts for other Amiga software
- authors.
-
- 5. Send a message to me letting me know that you use the
- program. I would greatly appreciate some input on what you would
- like to see added or changed to the program.
-
- 6. Bug who ever owns the Amiga at this time to include
- narrator.device and translator.library with future releases of
- Workbench.
-
- 6. More to follow.
-
- Installation:
-
- For any CPU, copy the SayMore icon and executable to any
- directory. For 68020+ CPUs, copy the SayMore.020 icon and
- executeable to any directory. Rename the files is desired.
-
- Required:
-
- As far as I know, this program requires Workbench 2.04+, but
- it has not been tested on all platforms. It was written on an
- Amiga 4000/40 and tested on an A2000/GVP 040/Workbench 3.1.
- Remember that it requires the new narrator.device and
- translator.library included with Workbench 2.0X. As far as I
- know, the only way to legally get these files is to own one of
- these versions of Workbench.
-
- Usage:
-
- SayMore pretty much works like the old "Say" program. It
- supports history and cut and paste. Use Right Amiga-C to copy
- from another window, and Right Amiga-V to paste in the SayMore
- window. It may act quirky if there are carriage returns or
- line feeds at the end of each line.
-
- To quit the program, type CTRL-\ in the input window, hit
- "ENTER" on a blank line, or use the left mouse button to
- close the input window.
-
- Reporting errors:
-
- I have put in some code to help determine the cause of
- errors. When a detectable error occurs in this program, a
- Window will pop up with a message and the amount of free
- chip RAM and fast RAM. If either of these numbers are small,
- you may be running out of memory. Try to free some memory
- and try again. Read the message. If the message says "Can not
- open translator.library V37 or above," check to see that you have
- that library and it is the correct version.
-
- When opening devices, there is not a field to indicate what
- version of the device to open, so this program will just open
- any narrator.device on disk. If things are not working like
- you would think they should, (example: face is not moving,
- changing gadget values does not affect voice), go to the shell
- and do a "version narrator.device". If it does not specifically
- say version 37 or above, then you have the wrong version.
-
- There is only one error, at least of that I know, that will
- cause the program to fail without a message, and that is the
- incorrect or missing "intuition.library" or not enough memory
- to open this library. Without this library, a window can not
- be opened to indicate the error.
-
- If you can not determine the cause of the error or the
- program fails without a detectable error, please send me the
- configuration of your system, other programs that were running at
- the time, and any other information you feel is important.
-
- Contacting the author:
-
- e-mail kgroombr@hereford.ampr.org
-
- snail-mail Kenton Groombridge
- 1405 North Center Avenue
- Hardin, MT 59034
- USA
-
- Acknowledgments:
-
- This version of the program is written using SAS/C 6.57.
- SAS/C is a great program, and I hope that they continue support
- for the Amiga. Thanks to the SAS/C Amiga developers for the
- patches written after Commodore's death.
-
- To do:
-
- 1. Tool types for user configurability.
- 2. File requester.
- 3. Command line operation that parses arguments.
- 4. Switch characters so that the speech can change while
- speaking.
- 5. Add "Stop" button so that speech can be interupted.
- 6. Sizable main window. I am not using MUI!
- 7. Add menu with items such as "About", "Open", and "Quit".
- 8. Make font sensitive.
- 9. Add localization.
- 10. Different faces for the "Face" window.
- 11. Make certain windows optionable such as "Face", and "Console
- output."
- 12. Convert documentation into AmigaGuide format.
- 13. Make a pretty icon.
- 14. Requester that opens when trying to run another instance of
- the program. Requester will have a bring to front button and an
- OK button. At the moment, there is no requester at all so if the
- SayMore window can't be seen, trying to launch the program may
- give indication that it is failing.
- 15. ARexx port. Wouldn't it be nifty to make your programs
- speak?
- 16. Options to follow at the request of users.
-
- Revision history:
-
- 0.10B
- Written in assembler. It was not user friendly, but it worked.
-
- 0.20
- Ported to C and made several enhancements.
-
- 0.25
- Fixed a bug in error reporting. It reported that it could not
- create the console message port when it could not open
- translator.library and vice-versa.
-
- Included the correct documentation.
-
- 0.30
- Fixed bug with the console_task that caused messages to get
- passed to the wrong instance of the program when two or more
- instances of the program were loaded.
-
- Changed translate_buffer's size to account for the largest
- possible translate string (I hope).
-
- Discovered a bug in translator.library. When it handles large
- strings of consecutive numbers, it will skip numbers every 100
- numbers it processes. The tranlate_buffer's size accounts for
- the largest string possible when or if this bug is ever fixed.
-
- Found a bug with the creation of the console_task. If
- console_task tried to find it's parents message port before the
- port was added to the system list, it would crash with a Guru
- 80000008. I could not find a way to completely fix this bug. I
- did make it where the parent's message port is added to the
- system list way before the spawned task should ask for it. The
- only way I know to fix this is to have only one instance of
- SayMore running at a time. If at anytime you get this error,
- please let me know, and I will work harder to try to eliminate
- this bug.
-
- Added "Face" window. It is ugly, but it is a start.
-
- 0.33
- Changed code so that only one instance of SayMore can run at a
- time. There really is no reason for two instances since only
- one narrator.device can be open at any one time. If you were
- getting that 80000008 Guru, it will be gone now.
-
- Fixed "Face" window so that it works with different size
- borders (urouhack). Eliminated the GimmeZeroZero window for
- face and rewrote the drawing routines so less system
- resources are required and speed in increased.
-
- Now uses EasyRequest() to print error messages. This is good
- news for those Amiga monitors that don't sync down to 15KHz.
-
- "Face" window now uses a diamond mouth. Don't worry, future
- versions will have user configurable mouths. This is just for
- testing since I am certain that the oval mouth functions
- properly.
-