GMPlay GUI V1.6 Author: Andrea Fiorito Date: 06 October 1997 Introduction... As known, Amiga shows itself (as good) at the world of the MIDI files, with the favour of the well known program GMPlay. However, al least in the first releases, GMPlay has not any graphic interface, by which the utent can set the necessary parameters simply. The only way is to use the command line interface and set the parameters time after time. For this reason many times i tried to find an effective remedy, to resolve this drawback. After several efforts GMPGUI was born; it means: General MIDI Player Graphic User Interface. Disclaimer: ----------- Naturally the use of the program is 'AS IS', that is : AT YOUR OWN RISK. I am not responsible for ANY problem caused by the use of this program. But problems shall not occur, because i tested it without particular drawbacks, on my Amiga 1200 System Requirements: -------------------- -Kickstart 2.0 or higher -The DOS commands: Break Delete Run Filenote Search Status -The libraries: diskfont.library mathieeedoubbas.library mathieeedoubtrans.library rexxsyslib.library -The fonts: Topaz/8 (virtually) Topaz/11 The DOS commands, the libraries and the fonts are integral part of the system disks (however the Topaz 11 font is supplied, for every eventuality). Warning: if GMPGUI does not find the needed dos commands, it will not work -------- properly! Installation: ------------- There are 2 ways: Automatic or Manually Automatic: just double-click on the 'Install-GMPGUI' icon! Manually : follow the steps below * Copy the 'GMPGUI' file with its icon in the wished directory * Copy the missing DOS commands in C: (for example), if not present * Copy the all the needed libraries in LIBS: , if not present * Copy the files 'Topaz/11' and 'Topaz.font' in FONTS: , if not present REM: It is necessary the font Topaz 8 is not present in FONTS: because it ---- alters the graphic interface of GMPGUI. This because all smaller buttons use the Topaz 11 scaled, to gain space on the interface. How It Works: ------------- GMPGUI is easy to use. When loaded, from Workbench or CLI, you can set the parameters of a previously selected MIDI file, then you can listen the MIDI file by clicking on 'PlayMIDI File'. The program runs GMPlay (that shall be in GM:) with your settings. The Gadgets and the Buttons ============================= [Directory] This button allows you to select the file to load that is checked to verify its format. You can use this button everytime you wish. Besides if you select a new MIDI File during play, GMPGUI shows its presence with the string '(next)' on the right upper of the MIDI File field. [Volume] [Frequency] [Priority] They are the three slider by which you can set Volume, Frequency and Priority of the selected MIDI File. Also you can use the fields placed on the right, for the same operation. [Verbosity] This section consists of two gadgets: · MIDIFile Info If active before you click on the 'Directory' button, the program shows the format and the number of voices of the selected MIDI File; however if the file is packed (e.g. with one of the XPK algorithms) GMPGUI shows the relative error message. It is unnecessary to say that this option slows a bit the loading. · GMPlay Output Press this key if you want to see GMPlay to come in action: a supplementary window will opened and GMPlay will run in the VERBOSITY mode on it. [Mono] This gadget allows you to play the MIDI files in MONO, exploiting this new characteristic of GMPlay 1.3 . [Force XG] This button consents to force GMPlay playing the MIDI File in the Yamaha XG mode, exploiting this other new function. [Local] With GMPlay 1.3 now you can maintain the settings of each MIDI File storing them in the file comments. The 'Local' key allows to take advantage of this characteristic in 2 ways: At each loading GMPGUI checks the filenotes of the selected file and, if it finds the string 'GMPlay', the 'LOC ON' string appears in the field placed above the 'Default' button; otherwise the 'LOC OFF' string remains. 1) Activated the key (and as long as it remains active) the program accesses to filenotes of the MIDI File and verifies it contains useful data; if so, that data is used to regulate the settings on the main window and the 'USE LOC' string appears in the above-mentioned field. 2) When GMPGUI runs GMPlay (if the 'Local'key is active) all settings on the main window are saved like filenotes in the MIDI File, so it will be possible to recall them in a successive moment. Useful, is that so? => In the same way, if the 'Local' key is disabled, but the 'LOC ON' string appears after loading, you can activate the key to set equally the GMPlay parameters by the file comments. When you set off the key, GMPGUI restores the settings present on the gui before activating the 'Local' function. [Default] With this key GMPGUI restores the normal settings. [Play MIDI File] Informations on it are really useless: this button runs GMPlay with all the settings of the main window. [Stop Playing] It cuts off the playing, breaking the esecution. [QUIT] That is: close button! N O T E S =========== All gadgets have immediate activation, although GMPGUI was not written exactly in Assembly! However if during use the GUI turns out a bit...«flabby», you must not get upset, because the problem has to be exclusively charged to the hardware (of course until a contrary prove) of the machine in use. Playing MIDI files on Amiga it is not a simple thing, although Alessandro De Luca e Christian Buchner have given us this simplicity with the favour of GMPlay. Therefore if Amiga slows down...take patience! Or, as someone says: «Don't shoot on the planist!» Technical Informations: ----------------------- GMPGui was completely built by the program 'CanDo 2.00', by the INOVAtronics Inc. All the algorithms were conceived by me, during several hard-work-weeks. Warning: cause i could not find (directly) a way to make GMPGUI to understand when GMPlay starts or completes the playing, i used a joke. The effect is the following: GMPGUI starts the counting of the elapsed playing time in a not much precise manner when you click the 'Play MIDI File' button, and it takes at the most 6 seconds to realize the playing is over. Therefore the duration of a MIDI file will be approximated in excess or defect, ;-| besides the 'Playing Complete' message will be displayed after 0 to 6 seconds. Sorry! ;-( (However to stop GMPlay is immediate). So if sometimes your hard disk «become nervous», remain calm! :-9 It is normal: GMPGUI is informing itself only! Technically the program creates 3 files in the 'RAM:T' directory: the first contains the task where GMPlay runs, the second provides the status of all tasks, the third indicates if GMPlay is running or not. About the Program: ------------------ GMPGUI is now cardware, however donations (of any other kind) will not be refused! Send me your gifts, comments and/or suggestions to the addresses below. The time GMPGUI must wait before to start to count the elapsed play time will be managed well if you set on the 'MIDIFile Info' key. In fact GMPGUI will use a routine that determines a middle wait time, according to several parameters, in a more precise manner (the default is about 23 seconds). To visualize correctly the title of a MIDI File it is possible not only signal each word of the file name with the low dash "_", but also «give prominence» to each word writing its initial letter as capital letter. Example: Field_of_Gold.mid <--- Field of Gold ---> FieldOfGold.mid Pressing the right mouse button GMPGUI goes in iconify-mode: the window is resized to the title bar dimensions and the screen title bar shows the name of the played song. To enjoy this function it is better to press the right mouse button for about 0.5 seconds, especially if GMPlay uses many CPU time. This function is reversible: pressing the RMB the GUI goes in iconify-mode, or it is restored to the original dimensions if it is already inconified. The News Corner: ---------------- V1.4 - Improved the timing management and the count of the elapsed playing time - Recognition of the loaded file is more precise now - Now GMPGUI indicates the presence of a second loaded file - The command line routines for GMPlay are more fast to built now - Inserted the 'Mono' and 'XG' buttons - Optimized the 'ON-OFF' field with the 'XG' button - More dynamic indication of informations in the below of interface V1.5 - Now GMPGUI shows anyhow the name of the played file - Optimized the 'ON-OFF' field with the 'Local' button - The new 'Local' function allows the saving and the loading of the settings for each MIDI File and optionally - Little graphic and software improvements (here and there...) V1.6 - Now GMPGUI shows the name of the played file in exetended way, without low dashes and useless spaces - The words of the played file are spaced also by initials, if they are capital in the file name - Fixed a bug in the 'Local' function, connected with acquisition of the informations to save - The 'Local' function repeated to save in the filenotes the same settings at every click: now fixed - Improved and optimized the 'Local' function - Corrected the Workbench title bar - Added missing informations in the guide and corrected some inaccuracies - Now when in iconify-mode, GMPGUI shows the name of the played song in the workbench title bar - Modified the program icon - When exiting by the iconify-mode the (next) string was no more displayed now fixed - Improved the refresh of the window, when exiting by the iconify-mode Informations about Andrea Fiorito: ---------------------------------- I am a student of Electronic Engineering University of Catania (Italy), i am 23 years old and i like (too much) to find the way to make anything working, in the best way. Also for this reason, to code a program is one of my favourite «hobbies», especially if i can make it in a simple but effective way. To contact me: *E-Mail : s180676@studenti.ing.unict.it (New address since 15/7/97) *Snail-Mail: Andrea Fiorito via Plebiscito 873 95124 Catania (ITALY) NOTE: When GMPGUI13 (February '97) appeared on Aminet, in my university was formatted the hard disk containing my account. So I invite who emailed me his messages to re-send them, if an answer is wished. Thanks! Therefore if it happens another time, try to contact me again: I am a guy that loves to go in the inner place of things and I will reply to all!