MenuMaster III (C) Dave Matthewson 1993 ======================================== The program in this final version is FreeWare and may be distributed in P.D. libraries and bulletin boards. The only stipulation is that this document file accompanies all copies. THE PROGRAM =========== The program has been thoroughly tested on most Amiga variants using both V1.2 and V2.0 KickStart ROMS and is, as far as I know, completely bug free. MenuMaster is intended to be a friendly front end to a collection of programs assembled on a single disk, (or hard drive). It allows the user to select and start a program (or programs if multitasking) without ever needing to access the CLI at all. Any program or command that can be started from the CLI can be included in the menu, which has a total of 32 selection options.(or 24 in NTSC mode) There are several shareware/public domain programs similar to MenuMaster, but this one is, as far as I know still unique, in that it has its own built-in editor. I was prompted to write this program because after making program additions or similar alterations to my own utility disks, I then had to use a separate menumaker program or text editor to modify the menu options. Now, with the built-in editor provided by MenuMaster, changes are quick and simple. INSTALLATION ============ To use MenuMaster on your own disks you must copy the file 'MenuMaster' into the root directory of your boot disk and edit the file 's/startup-sequence' to include the command 'MenuMaster'. Also ensure that the 'Run' command is in the 'c' directory. If not, then copy it there from your Workbench disk. MenuMaster III creates its own process then detaches itself from the CLI. However, to guarantee somewhere to send its output, MenuMaster will retain a lock on this initial CLI window. Consequently the 'ENDCLI' command will not close this window until all MenuMaster processes have exited. All that will happen is that the cursor will disappear and you will no longer have input access to this CLI window. If you wish to retain access to the initial CLI window for command input, then just delete the 'ENDCLI' command from the startup-sequence and it will then become available to you as soon as the startup-sequence completes. When you first boot from the disk, MenuMaster will look for the file in the root directory called 'MenuMaster.dat1'. If it's not there an alert will appear informing you that it can't read the data file. After clearing this alert you will be presented with a menu screen which is completely blank. By using the edit facility a new data file can then be created. Alternatively, the existing file 'MenuMaster.dat1' can also be copied to your disk, in which case the 'Can't read' alert will not appear. However, the data it contains will apply to the disk it came from and will have to be edited to suit. Use whichever method you find easier. The default datafile number is 1, so Menumaster.dat1 will always be loaded, or created ,if no file number is specified. By specifying a datafile number of 1 to 9 after the command, you can cause MenuMaster to use, or create, another datafile instead. i.e. the command 'MenuMaster 2' will use or create the data file 'MenuMaster.dat2'. From this you can see that a total of 9 menus, each with 32 options, are possible. Thus giving a grand total of 288 options, which should be more than enough for most people. North American users should find that MenuMaster will automatically detect NTSC format and set 24 option size accordingly. However, for compatibility, European users can force NTSC mode by using the command 'MenuMaster NTSC' instead. Another new feature of MenuMaster III is that it can be started in the iconified mode by using the 'I' switch. i.e. 'MenuMaster I' All of the above switches can be combined as long as they are used in the correct order, and separated by spaces. (Characters can be entered in either upper or lower case.) Correct usage is: MenuMaster [filenumber of 1-9] [I] [NTSC] N.B. Because of data compression, earlier V1.0 data files are NOT compatible with MenuMaster III. USE OF MAIN SCREEN GADGETS ========================== BACK/FRONT GADGETS ------------------ Normal screen depth arranging gadgets are in the top right corner. DRAG BAR -------- The whole of the title panel is an up/down drag bar which can be used in positioning the menu to reveal other screens beneath. SELECTION GADGETS ----------------- These are the 32 (or 24 in NTSC mode) possible program selection gadgets. An optional input requester can be also made to appear after a selection is made. Thus enabling command arguments or parameters to be passed to the command interactively.(Max. 127 characters can be entered using this option). MENU-BAR GADGET --------------- Holding down the right mouse button brings up the Options menu which gives three choices. 1)Shrink. This causes Menumaster to close down to a small icon at the top right of the screen. This bar contains Drag,Depth and Close gadgets, and the title which includes the datafile number. If multiple menus have been shrunk they will arrange themselves so as not to obscure each other. Clicking the right mouse button when this bar is active causes MenuMaster to re-open its main window again. 2)Edit. Enter edit mode. If the datafile was saved with the 'SECURE' option you will be prompted for a four digit security code number, prior to entry. 3)Quit. Exits MenuMaster completely. USE OF THE EDITOR GADGETS ========================= UP/DOWN GADGETS --------------- Holding down the left mouse button on either of these gadgets causes MenuMaster to scroll through the 32 (or 24) selection options plus the menu title. MENU TITLE/ITEM TEXT GADGET --------------------------- Enter the title, menu item text or comment text that you want displayed on the main screen menu panels. (Max. 35 characters) MENU SELECTOR BUTTON ON/OFF GADGET ---------------------------------- This gadget decides whether or not a selector button will appear with the above text on the main menu screen. (Except for the main title of course). When this is 'ON' the item text will be displayed left justified, with a selection button appearing at the right of the panel. When this is 'OFF', text only will be displayed, centre justified, in a different colour. This can be used for sub-titles or comment text. EXECUTION MODE GADGET --------------------- This gadget will be 'ghosted' until the user toggles the selector button ON/OFF gadget to 'ON'. It is used to preselect the mode in which your program will start when chosen from the main screen. The three options are [E]xecute, [R]un and [L]aunch. The default will always be [E]xecute. 1)Execute In this mode the menu window will close and your selected program will then be started. On exiting your program, the menu window will re-open ready for another selection to be made. There is an exception to this rule in that some programs, once started, create their own process and then detach themselves. This type of program will pass control back to the menu immediately after starting up, so you may need to then drag, or push, the menu to the back to access your selected program. MenuMaster is itself such a program, so multiple menus can be started with the Execute command. 2)Run (MultiTasking) In this mode the menu window will close and your selected program will be started. The menu window will then immediately re-open allowing further selections to be made. 3)Launch In this mode the menu window will close and your selected program will be started. MenuMaster will then close down completely, leaving only your selected program running. COMMAND LINE TEXT GADGET ------------------------ This too will be 'ghosted' until the user toggles the selector button ON/OFF gadget to 'ON'. Enter your command or program name here,just as you would at the CLI. It is best to specify the path if possible. Arguments or parameters to be passed to the command can also be included here, providing they are constant. i.e. 'LIST DF0:devs' If you wish to pass active arguments to the command then enter the command only here i.e 'DIR' and use the optional input requester to prompt you for, and collect your input at the time the command is executed. i.e. 'df0:c' is an argument which could be passed to the 'DIR' command. (See below for details on input requester) Using Multiple Commands ----------------------- MenuMaster will also accept multiple commands, separated by the '|' character (up to a maximum of 127 characters) to create pseudo batch files. i.e. DIR|ECHO "Click left mouse to continue"|RMOUSE. displays the current directory contents, prints a message, then uses a small utility program named RMOUSE to wait for a right mouse click, allowing the directory contents to be viewed prior to returning to the menu. Or...... CD dh0:Paint|PBrush will set the current directory to dh0:Paint, then run a program named PBrush. This is useful when programs need to be started from a certain directory so that they can access their own files correctly. N.B. If an active input requester is selected with a multiple command list then this will apply only to the LAST command in the list. In the last example, an input requester could be used to prompt for the name of picture file used by the PBrush program. INPUT REQUESTER ON/OFF GADGET ----------------------------- This too will remain 'ghosted' until the user toggles the selector button ON/OFF gadget to 'ON'. This selects whether or not a requester for input will appear, directly after making a choice from the main menu. INPUT REQUESTER PROMPT TEXT GADGET ---------------------------------- This will remain 'ghosted' unless the user toggles the input requester ON/OFF gadget to 'ON'. A prompt can now be entered which will appear along with the input requester mentioned above.(Max. 71 characters) RED/GREEN/BLUE SLIDER GADGETS ----------------------------- Used to modify the colours of the screen and pointer. SCREEN & POINTER COLOUR GADGETS ------------------------------- The current selection is highlighted with a box. This is the colour which will be modified by the RGB sliders. IMAGE GADGETS ------------- Selects which one of the four possible gadget images, is displayed on your main menu selection panel. NORMAL SAVE GADGET ------------------ Saves your menu data to the root directory as 'MenuMaster.datX', where X is the file number specified when you started MenuMaster. The main menu screen will then be updated with the changes. SECURE SAVE GADGET ------------------ This option will prompt you for a four digit security code prior to saving the data file. Remember it, as any future attempts at editing this data file will require entry of this code. CANCEL GADGET ------------- All current edits are discarded and last saved items and colours are re-displayed. USING MENUMASTER TO CREATE SUB-MENUS ==================================== If you wish to create sub-menus then enter the command MenuMaster followed by a datafile number as one of your main menu options. i.e MenuMaster 2, or MenuMaster 2 NTSC. N.B. Unless you particularly want more than one menu open at the same time then you should always preselect the mode to 'LAUNCH', with a similar call from the sub-menu (again using 'LAUNCH') to return to the main menu. This way one task is properly closed down before starting another. Should you require more than one menu open then set the preselect to 'EXECUTE' and the menus will be then stacked in front of each other. That's it then. I hope you find this program as useful as I have. Thanks go out to the many people who have sent me PD disks, or written with suggestions for improvements, or just to say thank you for a nice utility. Dave Matthewson. 5, Sea View Villas, Mayfield Grange, Cramlington, Northumberland, ENGLAND NE239AD P.S. ---- As this is the final (and still absolutely free) version of this program I am not providing any support for it. If you don't uderstand the docs then try putting down the joystick and reading the manual you got with this machine instead. Please don't call me ! Hint: Try entering the command you wish to execute at the CLI prompt first. If it doesn't work from there then don't expect MenuMaster to run it either. Should you wish to show your appreciation for a useful program, and encourage PD writers to keep writing, then a copy of your latest amazing P.D. demo or utility disk is always welcome.