Version 1.0 Completed: 17.11.94 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Preliminary construction. Version 1.1 Completed: 19.01.95 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Several bug fixes and code updates. - Switched jumper from Alt to Shift because it wasn't being set in IQualifier. - Put in BlankPointer to get rid of mouse pointer. - Added the info line. - Completed all cursor movements. - 'C' to center the image. - Completed command line arguments. - Finally got the image to center correctly with only one window. - Added some code to prevent overflowing the IDCMP with cursor movements. It stalled the program without it. - Fixed a huge bug with IQualifier. It didn't recoginize some qualifier keys. - Changed jump to end from SHIFT to ALT, like originally planned. - Added prefs file to save the last path so it knows where to start. - Added DOUBLEBUFFER but took it out the same day because for now it is not worth the slow screen drawing. Will have to see how fast it is on a 68030+. - Fixed a problem with displaying odd width and height pictures. - Now Kickstart 3.0 minimum. - Updated to use gtlayout.library. - Updated to use Modules directory. - Added DELAY command line argument. Number of seconds delay between pictures, 1-65536. - SPACE will now stay on the current picture if using DELAY. - ENTER will skip to the next picture. - Added these command line arguments: POINTERON/S leave mouse pointer on REPEAT/K number of times to display images INFO/S diplay image information only Version 1.2 Completed: 3.5.95 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Added command line argument [LANGUAGE ] to specify a preferred language for locale strings. - Split alot of set up and shut down code into a seperate file, MyProgramSupport.c, to speep up compilation and easier updating. - Removed alot of extraneous code that I no longer needed or I overlooked in gtlayout.library. - Beta tested and ideas given by Chris Gaul. - Now uses Exec lists for the images list. It will parse the entire file reqeust structure into a list then display images. It will parse either a single FILE/K image, or it will parse a FILE/K pattern, ie, FILE DH2:Pics/JPEG/#? then display the images. If no filename is given it will then open the file requester as before. - Since the screen is the same size for all images, it now stays open until all images are displayed. The window is also left open until the next image is loaded and ready to display. Sort of a double buffer with one screen. - Since now uses an Exec list, these new keys are now available: P - Previous Image F - First Image L - Last Image - No longer uses gtlayout.library since it doesn't make any calls to it. - By default the image list is sorted, so added NOSORT to not sort the list. - When in the file requester, can now enter a pattern in the filename gadget and CLICK the positive gadget to scan the entire directory. Pressing ENTER will not work. - Can now be iconified. - Updated routine to start iconified. - Exec lists updates. - Decided on name "Optimus Viewer". - Shortened name to "Optimus View". - Wrote AmigaGuide. - Public Release. Version 1.3 Completed: 27.7.95 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Options are now saved in prefs file. - Split prefs file into 2 files: prefs and paths. Options are saved in xx.prefs and paths are saved in xx.paths. - Added a user interface to build scripts and edit options. Can load/save scripts along with their unique options so don't have to keep chosing filenames. Also allows for slideshow presentations and chosing images across multiple devices and/or directories. - Options are not saved at quit, only LastPath and ScriptPath are. Have to chose Save Preferences in menu. - With the above came the new command line arguments: ARGUMENT_SCRIPT/K: Script to load. ARGUMENT_SECONDS/K: Seconds delay. No more ARGUMENT_DELAY/K. ARGUEMNT_MINUTES/K: Minutes delay. ARGUEMNT_UI/S: Open the user interface. Moved them around alittle, too. - Cleaned up the code some. - To loop forever from Shell, changed REPEAT 0 to REPEAT -1. - Can now specify UI=TRUE or UI=FALSE. Good for use with DirOpus and the like when Open Interface is checked, but not needed in this situation. - Added Close gadget to interface to easily close the interface and go into file requester mode. Before you would have to quit and reload with UI=FALSE. - Added Info Only checkbox to interface. - Changed Close to Requester. Took out a lot of keys and changed a lot. - Added Continue|Try Again|Abort requester at several error checks. - Now prints 'Error.' in bold if skip an image because of error. - Added ARGUMENT_AUTOCENTER to arg parser and interface to automatically center large images. - Updated ArgumentParser.c to handle toggles for saved preferences. Can specify TRUE or FALSE to change the state of saved preferences. Needed for programs like DirOpus to not open interface if it is set to open in the saved preferences. - Added: ARGUMENT_USEDELAY and ARGUMENT_USEREPEAT; changed ARGUMENT_INFO to ARGUMENT_INFOONLY. - Re-arranged order of prefs in config so all new ones will be added at the end so prefs file won't be screwed up in future. - Added ARGUMENT_IGNOREERRORS to arg parser and interface to not report errors. Useful for self-running scripts/slideshows. - Got the Try Again requester working correctly. Had to go all the way back to the start of image handling. - Pressing D now toggles Use Delay on/off. Space aborted the delay for one image, D does it for all. - Added ARGUMENT_SHOWNAME to arg parser and interface to display the image name on the screen. - Pressing H will toggle Show Name. - Pressing N toggles Pointer On. - Pressing U toggles Auto Center. - Updated AmigaGuide. - Public Release. Version 1.4 Completed: 00.00.95 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Moved UserInterface.c routines into MyProgram.c like it should have originally been. Also moved the display loop out of MyProgram.c and put it in DisplayImage.c. - Took out EmptyWindow and now leave MainWindow open all the time. - Overcame the problem of RE_OpenDeepScreen() cloning the Workbench colors and setting the background color the same as Workbench. The background is now always black. - Fixed a few miscellaneous bugs, nothing major. - Created CxController.c to handle an Emergency Panic button. Pressing the Help key anytime while viewing images, even during loads, will flip the screen to the back, or not bring it to front if not yet open, abort the timer so don't miss any images, and de-activate the image window and activate the parent window. This panic button is great for when viewing R or X rated images and someone walks in on you. - Wrote a fast sort routine that I tried to write earlier in SAK_GenericLists.c but couldn't get to work. - Took out ARGUMENT_NOSORT. - Images can now be displayed on Workbench in a window with scroller gadgets. Workbench must be 24 bits. Added ARGUMENT_ONWORKBENCH and gadget "On Workbench". It is disabled if Workbench is not 24 bits. - Added several window manipulation routines. Tricky stuff. - Wrote code to handle Emergency Panic button for On Workbench. The window is shrunk to just a title bar and placed in the top left corner of the screen. Clicking the close gadget will re-open the window. Why couldn't it have been as easy as the private screen one?!? - If Use Delay is not checked, then Minutes and Seconds are disabled. If Use Repeat is not checked, then Forever and Loops are disabled. - Added ARGUMENT_RANDOMIZE and Randomize gadget to randomize the list of images. Nice to have if a script is too "familiar" and want to mix it up alittle. - Updated AmigaGuide. - Public Release.